我想使用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