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

MyMemoWiki

PyQt

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

PyQt

Python |

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

インストール

サンプル

ブランクテンプレート

  1. # -*- coding:utf-8 -*-
  2.  
  3. import sys
  4. from PyQt4 import QtGui as gui
  5. from PyQt4 import QtCore as core
  6.  
  7. class MainWindow(gui.QWidget):
  8. def __init__(self):
  9. super(MainWindow, self).__init__()
  10. self.initUi()
  11.  
  12. def initUi(self):
  13. #
  14. #
  15. self.show()
  16.  
  17. def main():
  18. app = gui.QApplication(sys.argv)
  19. mainWin = MainWindow()
  20. sys.exit(app.exec_())
  21.  
  22. if __name__ == '__main__':
  23. main()

簡易画面

1019 pyqt sample01.jpg

  1. # -*- coding:utf-8 -*-
  2. import sys
  3. from PyQt4 import QtGui, QtCore
  4.  
  5. class ExampleQt(QtGui.QWidget):
  6. def __init__(self):
  7. super(ExampleQt, self).__init__()
  8. self.initUi()
  9.  
  10. def getModeItems(self):
  11. return (u'Item1',u'Item2',u'Item3')
  12.  
  13. def initUi(self):
  14.  
  15. grid = QtGui.QGridLayout()
  16. grid.setSpacing(10)
  17.  
  18. lblMode = QtGui.QLabel(u'テスト')
  19. self.cmbMode = QtGui.QComboBox(self)
  20. self.cmbMode.addItems(self.getModeItems())
  21. grid.addWidget(lblMode,1,0)
  22. grid.addWidget(self.cmbMode,1,1)
  23.  
  24. lblMq = QtGui.QLabel('MQ')
  25. self.cmbMqs = QtGui.QComboBox(self)
  26. self.cmbMqs.addItems(('Item1','Item2','Item3','Item4','Item5','Item6'))
  27. grid.addWidget(lblMq,2,0)
  28. grid.addWidget(self.cmbMqs,2,1)
  29.  
  30. self.chkTblPrefix = QtGui.QCheckBox(u'チェックボックス',self)
  31. grid.addWidget(self.chkTblPrefix,3,0)
  32.  
  33. boxBtn = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight)
  34.  
  35. self.btnExec = QtGui.QPushButton(u'実行',self)
  36. self.btnExec.clicked.connect(self.doExecute)
  37. boxBtn.addWidget(self.btnExec)
  38.  
  39. self.btnClear = QtGui.QPushButton(u'クリア',self)
  40. self.btnClear.clicked.connect(self.doClear)
  41. boxBtn.addWidget(self.btnClear)
  42.  
  43. grid.addLayout(boxBtn, 4,0,1,2)
  44.  
  45. splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal)
  46.  
  47. self.txtData = QtGui.QTextEdit(self)
  48. splitter1.addWidget(self.txtData)
  49.  
  50. self.txtOut = QtGui.QTextEdit(self)
  51. splitter1.addWidget(self.txtOut)
  52.  
  53. grid.addWidget(splitter1, 5,0,1,5)
  54.  
  55. self.setLayout(grid)
  56. self.setGeometry(200, 200, 700, 400)
  57. self.show()
  58.  
  59. def doClear(self, value):
  60. self.txtData.clear()
  61. self.txtOut.clear()
  62.  
  63. def doExecute(self, value):
  64. selected = self.getModeItems().index(unicode(self.cmbMode.currentText()))
  65.  
  66. result =
  67. data = unicode(self.txtData.toPlainText())
  68. if selected == 0:
  69. isprefix = self.chkTblPrefix.isChecked()
  70. # do something
  71. pass
  72. elif selected == 1:
  73. # do something
  74. pass
  75. elif selected == 2:
  76. # do something
  77. pass
  78. self.txtOut.clear()
  79. self.txtOut.append(result)
  80.  
  81. def main():
  82. app = QtGui.QApplication(sys.argv)
  83. exampleQt = ExampleQt()
  84. sys.exit(app.exec_())
  85.  
  86. if __name__ == '__main__':
  87. main()

Tips

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

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

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

  1. from PyQt4 import QtCore as qt
  2.  
  3. chkCountWs = gui.QCheckBox(u"空白計測")
  4. chkCountWs.setCheckState(qt.Qt.Checked)

ファイル選択

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

サンプル

Python ファイルを分割する

文字数計測ツール

1018 pyqt char counter.jpg

FreeMindをHTMLに変換する

1017 freemind 2 html.png