2015-11-05 138 views
1

因此,我最近從tkinter切換到python,爲我的python GUI應用程序,我喜歡它。將pyqt ui文件轉換爲py文件

但是有一件事情讓我感到困擾,我希望你們能幫助我。

我喜歡使用qtdesigner工具,所以我可以快速開發接口,但是當我將qui轉換爲py時,它使用設置主窗口的setupUi方法以稍微不確定的方式構造一個類。我希望我可以改變它使課程成爲更傳統方式的方式,以便我可以繼承它並在另一個文件中定義我的事件等。目前我手動做到這一點。這可以很容易地修改設計器中的UI,並且仍然可以從轉換後的py文件導入,而無需進行任何修改。

我希望我的問題有意義,我期待聽到其他開發人員如何處理此問題。

在此先感謝

回答

2

我通常加載ui文件本身,而無需轉換爲py。這實際上節省了一些時間,代碼也看起來不錯。這裏是一個片段

from PyQt4 import QtGui, QtCore, uic 
import sys 

# Here you can add your ui path from desigener, no need to convert 
RESOURCE_PATH    = package.__BASERESLOC__ 
baseUI     = os.path.join(RESOURCE_PATH, "base_main.ui") 
baseUIClass, baseUIWidget = uic.loadUiType(baseUI) 

class BASEGUICLS(baseUIWidget, baseUIClass): 
    def __init__(self,parent=None): 
     super(BASEGUICLS, self).__init__(parent) 
     self.setupUi(self) 
     #after this you will have everything 
     self.pushButton.setText("Foo") 

def main(): 
    """ 
    Main function which init main GUI. 
    """ 
    app = QtGui.QApplication(sys.argv) 
    ex = BASEGUICLS(None) 
    ex.show() 
    sys.exit(app.exec_()) 
+0

非常感謝,這正是我所期待的。在不影響代碼的前提下輕鬆調整gui。 – pysenberg

+0

是的,它實際上很好,並且njoy :) – Achayan

相關問題