为什么弹窗弹不出呢: for i in x: if i not in self.DB:#对于不满足的那部分 #弹出一个对话框,询问用户是否满足该前提,即是否事实库中包含该前提。 #todo btn = QMessageBox.Question(self, "询问", "是否"+i, QMessageBox.Ok, QMessageBox.Cancel) btn.exec_() if btn == QMessageBox.Ok: self.textEdit_2.setText(self.textEdit_2.toPlainText() + "\n" + i) self.DB.add(i) flag1 = True
时间: 2024-02-10 19:05:21 浏览: 128
可能是因为弹窗的代码没有被执行到,或者弹窗被阻塞了。你可以添加一些输出语句来检查代码是否被执行到,或者尝试使用非阻塞的弹窗方式,如使用QMessageBox的静态函数。例如:
```
if i not in self.DB:
#弹出一个对话框,询问用户是否满足该前提,即是否事实库中包含该前提。
reply = QMessageBox.question(self, '询问', '是否' + i + '?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
self.textEdit_2.setText(self.textEdit_2.toPlainText() + "\n" + i)
self.DB.add(i)
flag1 = True
```
在这个例子中,使用了QMessageBox的静态函数question()来创建一个非阻塞的对话框,询问用户对前提的满足程度。用户可以选择“Yes”或“No”来回答问题,如果选择“Yes”,则将对应的前提添加到文本框中,并标记flag1为True。
阅读全文