我想使用PyQt製作一個用戶界面。它有一個非常基本的工作。當腳本在終端上運行時,當按下Ok時,詢問名稱的對話框應該打開和關閉。但是,我無法從Qt應用程序返回控件。控制不返回後在PyQt中遇到self.close()
我的代碼如下:
class Interactive(QtGui.QWidget):
def __init__(self):
super(Interactive,self).__init__()
self.initGUI()
def initGUI(self):
self.setGeometry(300,300,290,150)
self.setWindowTitle('Input Dialog')
self.show()
self.inputdialog = QtGui.QInputDialog()
self.inputdialog.move(50,50)
text, ok = self.inputdialog.getText(self,'Input Dialog','Enter Your Name:')
#self.text = text
if ok:
self.text = text
print text
self.close()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
obj = Interactive()
#app.exec_()
if app.exec_():
sys.exit()
print "somerandomtext"
的print text
在類的內部工作,但我的測試字符串"somerandomtext"
是不是和程序沒有結束。
我已經看過類似的問題所以,但沒有一個似乎解決了同樣的問題。我必須爲此做出另一個處理程序嗎?
因爲您在打印前使用了sys.exit()。所以退出後它永遠不會打印任何東西。 – Achayan 2014-10-30 20:26:38
如果執行了sys.exit(),程序將會終止,正如我已經說過的那樣,程序並沒有終止。 – light94 2014-10-30 20:43:17