2015-09-26 36 views
0

在QT設計我已經定義了一個按鈕loadValues_btn和相關聯的在Python按壓()到自定義時隙loadValues()無法Qt的按鈕的壓力

然後信號執行自定義代碼,在已經裝載的的.ui文件使用PyQt庫,我已經在MainApplication類中定義了方法loadValues(),以便在單擊相同按鈕時執行自定義代碼。不過,這並不執行代碼(我需要簡單地打開文件選擇對話框)

我已經和點擊()嘗試,並沒有工作,要麼

這裏是MainApplication類代碼:

class Main(QMainWindow, Ui_MainWindow):  
    def __init__(self,): 
     super(Main, self).__init__() 
     self.setupUi(self) 

    def loadValues(): 
     filePath = QtGui.QFileDialog.getOpenFileName(parent=self, caption='Open file', directory='.') 

if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    main = Main() 
    main.show() 
    sys.exit(app.exec_()) 
+0

'setupUi'應該做連接,如果沒有,那麼你可以嘗試修復它在Designer上(確保你有正確的連接定義),或者你可以自己做代碼連接 – hyde

+0

@hyde我用PyQt4生成了UI界面後面的Python代碼,在我看來,信號和插槽是正確連接的loadValues時隙... – davide

+0

這裏是存在於setpUi的Ui_MainWindow類的代碼: 「類Ui_MainWindow(對象): DEF setupUi(個體,主窗口): MainWindow.setObjectName(_fromUtf8( 「主窗口」) ) MainWindow.resize(803,476) ... self.loadData_btn = QtGui.QPushButton(self.centralWidget) self.loadData_btn.setGeometry(QtCore.QRect(30,10,75,23)) self.loadData_btn.setObjectName(_fromUtf8(「loadData_btn」)) .. 。 QtCore.QObject.connect(self.loadData_btn,QtCore.SIGNAL(_fromUtf8( 「點擊()」)),MainWindow.loadValues) ... 「 我不明白哪裏出錯:( – davide

回答

1

謝謝大家的支持。實際上文件對話框並沒有出現,因爲它在Spyder編輯器窗口後面!所以它被隱藏了,它並沒有在我正在開發的Python應用程序的主窗口中彈出! :(無用的告訴你,我已經失去了一天的時間來了解問題出在哪裏,因爲它是Python !!!