「PyQt」の版間の差分
ナビゲーションに移動
検索に移動
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | ==PyQt== | + | ==[[PyQt]]== |
− | [[Python]] | + | [[Python]] | |
=====チュートリアル===== | =====チュートリアル===== | ||
*http://zetcode.com/tutorials/pyqt4/ | *http://zetcode.com/tutorials/pyqt4/ | ||
=====クラスリファレンス===== | =====クラスリファレンス===== | ||
− | *http://pyqt.sourceforge.net/Docs/ | + | *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 | + | from [[PyQt]]4 import QtGui as gui |
− | from | + | 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 | + | 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. | + | 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/ | + | *http://pyqt.sourceforge.net/Docs/[[PyQt]]4/qt.html#CheckState-enum |
− | from | + | 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]]に変換する=== |
*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 |
チュートリアル
クラスリファレンス
- http://pyqt.sourceforge.net/Docs/PyQt4/classes.html
ドキュメント
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()
簡易画面
# -*- 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)
チェックボックスをチェック
- http://pyqt.sourceforge.net/Docs/PyQt4/qt.html#CheckState-enum
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 ファイルを分割する
文字数計測ツール
FreeMindをHTMLに変換する
© 2006 矢木浩人