Pythoon+QTによるguiプログラムの開発が実現しました。

2811 ワード

最近友達にテキストファイルを条件通りにエクセルにエクスポートするための小さいプログラムを作ってあげました。PyQTを使って、Pythonは本当に強力なスクリプト言語で、開発効率が非常に高いことが分かりました。
まず引用が必要です

from PyQt4 import QtGui, uic, QtCore 
多くのコントロールはQPusshButtonのようにQtGuiの空間から得られます。init_(u)self,parent=None)では、インターフェースの設計とコントロールとの相互接続の方法が定義されています。

class AddressBook(QtGui.QWidget):
  def __init__(self, parent=None):
    super(AddressBook, self).__init__(parent)
    #button  
    self.out_put = QtGui.QPushButton("&Out_put")
    # button      ,  self.out   
    self.out_put.clicked.connect(self.out)
    browseButton = self.createButton("&Browse...", self.browse)
 
    nameLabel = QtGui.QLabel("Location:")
    self.nameLine = QtGui.QLineEdit()
    addressLabel = QtGui.QLabel("Loading:")
    self.addressText = QtGui.QTextEdit()
    self.createFilesTable()
 
    buttonLayout1 = QtGui.QVBoxLayout()
    buttonLayout1.addWidget(browseButton, QtCore.Qt.AlignTop)
    buttonLayout1.addWidget(self.out_put)
    buttonLayout1.addStretch()
    #     
    mainLayout = QtGui.QGridLayout()
    mainLayout.addWidget(nameLabel, 0, 0)
    mainLayout.addWidget(self.nameLine, 0, 1)
    mainLayout.addWidget(addressLabel, 1, 0, QtCore.Qt.AlignTop)
    #mainLayout.addWidget(self.addressText, 1, 1)
    mainLayout.addWidget(self.filesTable, 1, 1)
    mainLayout.addLayout(buttonLayout1, 1, 2)
    self.setLayout(mainLayout)
    self.setWindowTitle("HD_export")
得られた効果は図の通りです。

そしてbutton対応を定義する方法です。Browseというbuttonに対応する方法のように、コードは以下の通りです。

def browse(self):
    directory = QtGui.QFileDialog.getExistingDirectory(self, "Find Files",
        QtCore.QDir.currentPath())
 
    self.nameLine.setText(directory)
    self.find()
    
  def find(self):
    self.filesTable.setRowCount(0)
    path=self.nameLine.text()
    self.currentDir = QtCore.QDir(path)
    files = self.currentDir.entryList(QtCore.QDir.Files | QtCore.QDir.NoSymLinks)
 
    self.showFiles(files)
このようにBrowseというボタンをクリックすると、彼はbrowseという方法を呼び出します。
Ok、このようにPyQTの使い方はほぼ言い終わりました。これをコンパイルすれば.pyファイルを作成できます。exe.
私は生成する時、cx_を使います。Freezeでは、Freeze Python.exeの使用法があります。包装もとても速いです。cx_Freeze.bat  --install-dir="/your/path/to/install" app.py      彼はセットアップ時にcxを_ります。Free.batは\Python 27\Scriptsのフォルダに入れます。
このGUI開発を本当に理解するには、やはり自分でやります。PyQTを使って迅速に自分の欲しいものを開発するのはいい方法です。
ここで、Pythoon+QTに基づくguiプログラムの開発が実現した記事を紹介します。Python QT guiプログラムの開発内容については、以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。