| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「PyQt」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==PyQt== [Python] =====チュートリアル===== *http://zetcode.com/tutorials/pyqt4/ =====クラスリファレンス===== *http://pyqt.sourceforge.net/Docs/PyQt…」)
 
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
==PyQt==
+
==[[PyQt]]==
[Python]
+
[[Python]] |
  
 
=====チュートリアル=====
 
=====チュートリアル=====
 
*http://zetcode.com/tutorials/pyqt4/
 
*http://zetcode.com/tutorials/pyqt4/
 
=====クラスリファレンス=====
 
=====クラスリファレンス=====
*http://pyqt.sourceforge.net/Docs/PyQt4/classes.html
+
*http://pyqt.sourceforge.net/Docs/[[PyQt]]4/classes.html
 
=====ドキュメント=====
 
=====ドキュメント=====
 
*http://qt-project.org/doc/qt-4.8/
 
*http://qt-project.org/doc/qt-4.8/
 
=====Wiki=====
 
=====Wiki=====
*https://wiki.python.org/moin/PyQt
+
*https://wiki.python.org/moin/[[PyQt]]
  
 
===インストール===
 
===インストール===
19行目: 19行目:
 
   
 
   
 
  import sys
 
  import sys
  from PyQt4 import QtGui as gui
+
  from [[PyQt]]4 import QtGui as gui
  from PyQt4 import QtCore as core
+
  from [[PyQt]]4 import QtCore as core
 
   
 
   
 
  class MainWindow(gui.QWidget):
 
  class MainWindow(gui.QWidget):
44行目: 44行目:
 
  # -*- coding:utf-8 -*-
 
  # -*- coding:utf-8 -*-
 
  import sys
 
  import sys
  from PyQt4 import QtGui, QtCore
+
  from [[PyQt]]4 import QtGui, QtCore
 
   
 
   
 
  class ExampleQt(QtGui.QWidget):
 
  class ExampleQt(QtGui.QWidget):
74行目: 74行目:
 
         grid.addWidget(self.chkTblPrefix,3,0)
 
         grid.addWidget(self.chkTblPrefix,3,0)
 
   
 
   
         boxBtn = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight)
+
         boxBtn = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftTo[[R]]ight)
 
   
 
   
 
         self.btnExec = QtGui.QPushButton(u'実行',self)
 
         self.btnExec = QtGui.QPushButton(u'実行',self)
130行目: 130行目:
 
     main()
 
     main()
  
==Tips==
+
==[[Tips]]==
 
===スクロールバーを先頭に移動===
 
===スクロールバーを先頭に移動===
 
=====TextEdit=====
 
=====TextEdit=====
136行目: 136行目:
  
 
===チェックボックスをチェック===
 
===チェックボックスをチェック===
*http://pyqt.sourceforge.net/Docs/PyQt4/qt.html#CheckState-enum
+
*http://pyqt.sourceforge.net/Docs/[[PyQt]]4/qt.html#CheckState-enum
  from PyQt4 import QtCore as qt
+
  from [[PyQt]]4 import QtCore as qt
 
   
 
   
 
  chkCountWs = gui.QCheckBox(u"空白計測")
 
  chkCountWs = gui.QCheckBox(u"空白計測")
144行目: 144行目:
 
  dialog = QtGui.QFileDialog()
 
  dialog = QtGui.QFileDialog()
 
  dialog.setFileMode(gui.QFileDialog.AnyFile)
 
  dialog.setFileMode(gui.QFileDialog.AnyFile)
  dialog.setFilter('images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)')
+
  dialog.setFilter('images (*.png *.xpm *.jpg);;Text files (*.txt);;[[XML]] files (*.xml)')
 
  if dialog.exec_():
 
  if dialog.exec_():
 
     fileNames = dialog.selectedFiles()     
 
     fileNames = dialog.selectedFiles()     
150行目: 150行目:
 
         print f
 
         print f
 
==サンプル==
 
==サンプル==
===Python ファイルを分割する===
+
===[[Python ファイルを分割する]]===
*Python ファイルを分割する
+
*[[Python ファイルを分割する]]
 
===文字数計測ツール===
 
===文字数計測ツール===
 
*http://typea.info/blg/glob/2014/08/pyqt.html
 
*http://typea.info/blg/glob/2014/08/pyqt.html
 
[[File:1018_pyqt_char_counter.jpg]]
 
[[File:1018_pyqt_char_counter.jpg]]
  
===FreeMindをHTMLに変換する===
+
===FreeMindを[[HTML]]に変換する===
 
*http://typea.info/blg/glob/2014/08/pyqtubuntuhtmlwiki.html
 
*http://typea.info/blg/glob/2014/08/pyqtubuntuhtmlwiki.html
 
[[File:1017_freemind_2_html.png]]
 
[[File:1017_freemind_2_html.png]]

2020年2月16日 (日) 04:30時点における最新版

PyQt

Python |

チュートリアル
クラスリファレンス
ドキュメント
Wiki

インストール

サンプル

ブランクテンプレート

# -*- coding:utf-8 -*-

import sys
from PyQt4 import QtGui as gui
from PyQt4 import QtCore as core

class MainWindow(gui.QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.initUi()

    def initUi(self):
        # 
        #
        self.show()

def main():
    app = gui.QApplication(sys.argv)
    mainWin = MainWindow()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

簡易画面

1019 pyqt sample01.jpg

# -*- coding:utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore

class ExampleQt(QtGui.QWidget):
    def __init__(self):
        super(ExampleQt, self).__init__()
        self.initUi()

    def getModeItems(self):
        return (u'Item1',u'Item2',u'Item3')

    def initUi(self):

        grid = QtGui.QGridLayout()
        grid.setSpacing(10)

        lblMode = QtGui.QLabel(u'テスト')
        self.cmbMode = QtGui.QComboBox(self)
        self.cmbMode.addItems(self.getModeItems())
        grid.addWidget(lblMode,1,0)
        grid.addWidget(self.cmbMode,1,1)

        lblMq = QtGui.QLabel('MQ')
        self.cmbMqs = QtGui.QComboBox(self)
        self.cmbMqs.addItems(('Item1','Item2','Item3','Item4','Item5','Item6'))
        grid.addWidget(lblMq,2,0)
        grid.addWidget(self.cmbMqs,2,1)

        self.chkTblPrefix = QtGui.QCheckBox(u'チェックボックス',self)
        grid.addWidget(self.chkTblPrefix,3,0)

        boxBtn = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight)

        self.btnExec = QtGui.QPushButton(u'実行',self)
        self.btnExec.clicked.connect(self.doExecute)
        boxBtn.addWidget(self.btnExec)

        self.btnClear = QtGui.QPushButton(u'クリア',self)
        self.btnClear.clicked.connect(self.doClear)
        boxBtn.addWidget(self.btnClear)

        grid.addLayout(boxBtn, 4,0,1,2)

        splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal)

        self.txtData = QtGui.QTextEdit(self)
        splitter1.addWidget(self.txtData)

        self.txtOut = QtGui.QTextEdit(self)
        splitter1.addWidget(self.txtOut)

        grid.addWidget(splitter1, 5,0,1,5)

        self.setLayout(grid)
        self.setGeometry(200, 200, 700, 400)
        self.show()

    def doClear(self, value):
        self.txtData.clear()
        self.txtOut.clear()

    def doExecute(self, value):
        selected = self.getModeItems().index(unicode(self.cmbMode.currentText()))

        result = 
        data = unicode(self.txtData.toPlainText())
        if selected == 0:
            isprefix = self.chkTblPrefix.isChecked()
            # do something
            pass
        elif selected == 1:
            # do something
            pass
        elif selected == 2:
            # do something
            pass
        self.txtOut.clear()
        self.txtOut.append(result)

def main():
    app = QtGui.QApplication(sys.argv)
    exampleQt = ExampleQt()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

Tips

スクロールバーを先頭に移動

TextEdit
textEdit.verticalScrollBar().triggerAction(QtGui.QAbstractSlider.SliderToMinimum)

チェックボックスをチェック

from PyQt4 import QtCore as qt

chkCountWs = gui.QCheckBox(u"空白計測")
chkCountWs.setCheckState(qt.Qt.Checked)

ファイル選択

dialog = QtGui.QFileDialog()
dialog.setFileMode(gui.QFileDialog.AnyFile)
dialog.setFilter('images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)')
if dialog.exec_():
    fileNames = dialog.selectedFiles()    
    for f in fileNames:
        print f

サンプル

Python ファイルを分割する

文字数計測ツール

1018 pyqt char counter.jpg

FreeMindをHTMLに変換する

1017 freemind 2 html.png