首先,我是一個完整的PyQt新手。正確的方法來處理主窗口中的關閉按鈕PyQt,(紅色的「X」)
我一直在嘗試將一個函數鏈接到主窗口的關閉按鈕(窗口角落的紅色x),但我一直沒有取得任何成功。現在,我的代碼看起來是這樣的:
class Ui_MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setupUi(self)
def setupUi(self, MainWindow):
#setup code goes here
def retranslateUi(self, MainWindow):
#re translation of the GUI code
def closeEvent(self, event):
print "User has clicked the red x on the main window"
在一個單獨的「主」文件我已經如下因素:
class GUIForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self,parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
#self.ui.ECUStatus_txt = MyWidget.__init__.text_list
self.threadData()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = GUIForm()
myapp.show()
ret = app.exec_()
sys.exit(ret)
然而,當我通過命令提示符下運行,我不能當我點擊紅色的x時看到打印聲明。我知道我對Qt是新手,但是我看到很多人提出這個問題,而且沒有一個答案似乎超出了上面已經寫過的內容。
這兩種解決方案都與我相似,但它仍然無法正常工作
儘管答案,這可能是該用戶的特定代碼工作,我的PyQt同事和我的同事對我們不工作的推理仍然十分模糊。 PyQt內置的「Red X box」是否有定義的按鈕名稱?我可以將它連接到另一個功能,我會爲其他按鈕做些什麼?
也許'aboutToQuit'信號是你在找什麼? http://qt-project.org/doc/qt-5/qcoreapplication.html#aboutToQuit – user3419537
可能在你的代碼中,你缺少連接信號到插槽。這是Qt庫的「骨幹」。 –
@ user3419537,我試試看! – sudobangbang