【发布时间】:2014-10-31 05:35:53
【问题描述】:
我正在尝试使用 PyQt 制作 UI。它有一个非常基本的工作。当脚本在终端上运行时,按下 Ok 时会打开和关闭询问名称的对话框。但是,我无法从 Qt 应用返回控件。
我的代码如下:
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" 不能正常工作,并且程序没有结束。
我在 So 中查看了类似的问题,但似乎没有一个解决相同的问题。我必须为此创建另一个处理程序吗?
【问题讨论】:
-
因为您在打印之前使用的是 sys.exit() 。所以它永远不会在退出后打印任何东西。
-
如果 sys.exit() 已经执行,程序就会终止,正如我已经说过的,程序没有终止