我正在尝试使用非阻塞的qmessage创建一个简单的qmessage。不幸的是,qmessagebox没有出现。我尝试过从C中引用一些例子并修改代码,但到目前为止,没有任何结果。这是我的代码:
import PySide.QtGui as qg
import PySide
widget = qg.QMessageBox()
widget.setText("Close Gazebo to continue...")
widget.setWindowModality(PySide.QtCore.Qt.NonModal)
widget.show()
#Do some computationally expensive stuff...
你知道我做错什么了吗?我还需要其他什么东西来确保窗口不阻塞并正确显示吗?如有任何帮助,将不胜感激
您必须在一个单独的线程中执行计算开销较大的任务,并让事件循环在主线程中运行。或者在偶尔执行
QCoreApplication.processEvents()
时做一些昂贵的事情。在您的主要问题是尚未定义QApplication。在
我做了一些改变。第一个:
^{pr2}$这删除了
import PySide
,而只是导入了QtCore
。这不是一个巨大的变化,但遵循了QtGui
的导入。在这些是很重要的。这将设置一个^{} 。在
上面的代码将生成此窗口:
相关问题 更多 >
编程相关推荐