Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用QT(PySide)通过QInputDialog获取用户输入_Python_Qt_Pyside - Fatal编程技术网

Python 使用QT(PySide)通过QInputDialog获取用户输入

Python 使用QT(PySide)通过QInputDialog获取用户输入,python,qt,pyside,Python,Qt,Pyside,我在python上编写了一个小脚本来做一些事情,我想先询问用户输入。这是我当前的代码: import sys from PySide import QtGui app = QtGui.QApplication(sys.argv) gui = QtGui.QWidget() text, ok = QtGui.QInputDialog.getText(gui, "question", """please put the thing I need from you""") p

我在python上编写了一个小脚本来做一些事情,我想先询问用户输入。这是我当前的代码:

import sys
from PySide import QtGui

app = QtGui.QApplication(sys.argv)
gui = QtGui.QWidget()
text, ok = QtGui.QInputDialog.getText(gui, "question",
            """please put the thing I need from you""")
print(text, ok)
if ok:
    app.exit()
else:
    app.exit()
app.exec_()
print ("I'm aliveeeee'")
对话框弹出的正是我想要的,但是app.exec_uu2;()永远不会结束,所以剩余的代码永远不会执行(进程也永远不会结束)。我试图用
app.exit()
app.quit()
,杀死它,我也尝试显示()并关闭()QWidget,但没有任何效果

如果在调用QInputDialog之前执行了
gui.show()
,然后手动关闭小部件,则应用程序将成功关闭。然而,这不是我想要的行为

在我获得数据后,你能告诉我关闭exec循环的最佳方法吗

PD:这将是一个windows应用程序(使用py2exe),使用shell不是一个选项。

只是不要调用app.exec()


这里的问题是,这是一个玩具的例子。在现实生活中,通常你会显示一些UI,然后调用app.exec(),让用户与之交互。

哇,我认为你总是需要调用exec()。谢谢