2012-07-25 77 views
0

我之前使用Pyqt製作了一個gui。我在Linux上完成了終端上的所有編碼。現在我要在Pyqt做一個大項目。
是否有任何sdk可以幫助我克服編碼部分,因此我只需拖放這些項目?我瞭解qt設計師,但我不知道應該如何編寫並將其與Python集成。GUI編程Pyqt

你有什麼建議使用這個程序?

回答

1

參見Creating interfaces visually with designer

如果使用PyQt4中使用pyuic4

如果使用pyside使用pyside-uic

這些編譯從QTDesigner輸出到Python文件。

你可以在google你的方式來對這些命令行工具的使用,但Riverbank通常是一個很好的參考

3

Qt設計時PyQt4的通常僅用於佈局過程中,而不是確定的信號,哥們耦合等等。你執行你的小部件的可視佈局,並保存.ui文件。

使用pyuic4,然後您可以編譯.ui.py,並將其導入到您的編碼項目中。

雖然在這一點上可能有3種不同的使用UI的方法,但我通常做的是多重繼承。如果MyMainWindow類是爲了QMainWindow,那麼我從QMainWindow繼承我的類,然後繼承UI類。

事情是這樣的......

pyuic4 myMainWindow.ui -o myMainWindowUI.py 

main.py

from PyQt4 import QtGui 
from myMainWindowUI import Ui_MainWindow 

class MyMainWindow(QtGui.QMainWindow, Ui_MainWindow): 

    def __init__(self, *args, **kwargs) 
     super(MyMainWindow, self).__init__(*args, **kwargs) 
     self.setupUi(self) 

setupUi方法適用於您的整個UI設計類,你現在可以訪問所有的部件的你由它們的對象名稱設計。

win = MyMainWindow() 
print win.listWidget 
print win.button1 
win.show() 
+0

嗨,讓我們說我有另一個窗口類。我如何訪問UI_MainWindow文件中的小部件? – dnth 2015-10-10 16:44:40

+0

@dnth你的意思是你有第二個窗口類嗎?如果你有另一個窗口實例,它不應該直接訪問不同類的窗口小部件。你可以說得更詳細點嗎? – jdi 2015-10-10 19:10:38

+0

我想問這個問題 http://stackoverflow.com/questions/33056555/how-to-organize-classes-in-pyqt-gui-programming – dnth 2015-10-10 19:15:35