PyQt:为什么弹出对话框会阻止执行其他代码?

Gia*_*nou 2 python pyqt qdialog pyqt4

我有一个弹出对话框的问题.我有一个组合框,当选项更改时,弹出一个带有textedit小部件的对话框,做一些东西并在textedit小部件中插入一些文本.

这就是我用于弹出窗口的内容:

def function_1(self):
    dialog = QDialog()
    dialog.ui = Ui_Dialog_popup()
    dialog.ui.setupUi(dialog)
    dialog.setAttribute(QtCore.Qt.WA_DeleteOnClose)
    dialog.exec_()
Run Code Online (Sandbox Code Playgroud)

我在QtDesignere中使用弹出的gui代码在一个单独的py文件中.

弹出对话框出现,但是如果没有关闭对话框,则无法执行任何其他操作.您知道我该如何处理这个问题?谢谢.

Mat*_*Mat 5

这正是设计的exec方法QDialog:模态对话框.阅读"模态"和"无模式对话框"部分.

如果您没有阻止主UI的对话框,请调用show()而不是exec()(并检查modal属性文档).