【发布时间】:2015-10-06 03:33:11
【问题描述】:
我正在尝试从系统托盘菜单 (QtGui.QMenu) 中的选项打开 QDialog。但是我的原始类“Mensageiro”是从 QtGui.QSystemTrayIcon 派生的,因此在创建 QDialog 实例时出现异常:
TypeError: 'PySide.QtGui.QDialog' called with wrong argument types:
PySide.QtGui.QDialog(Mensageiro)
Supported signatures:
PySide.QtGui.QDialog(PySide.QtGui.QWidget = None, PySide.QtCore.Qt.WindowFlags = 0)
如何打开对话框?我不希望它没有父母。
【问题讨论】:
-
你为什么不希望它没有父母?你到底想达到什么目的?
-
@ekhumoro:我想我做错了什么。当我尝试在没有父母的情况下使用它时,我可以关闭托盘应用程序并且打开的对话框保持打开状态。
-
好的。该对话框可以有一个
QObject作为父级,因此请尝试使用dialog.setParent(systrayicon)。 -
@ekhumoro:不。你的建议是做同样事情的另一种方式。我收到类似的错误消息。我想我已经找到了解决方案。其实很简单。我没有看到明显的。感谢您的帮助。
-
嗯,是的,这有点脑残。我想我应该猜到
setParent是为小部件重新实现的。