从pyside中的对话框中删除whatThis

时间:2013-04-18 15:44:21

标签: python pyside qdialog

我在C ++中发现了很多关于这样做的问题,但没有关于在Python / PySide中这样做的问题。 我想删除'?'按钮
enter image description here
从我的QDialog顶部。我知道我会使用setWindowFlags(),但我不知道我应该将什么作为参数传递。

3 个答案:

答案 0 :(得分:5)

以下方法无需修改其他标志即可正常工作:

self.setWindowFlags(self.windowFlags()
                    ^ QtCore.Qt.WindowContextHelpButtonHint)

答案 1 :(得分:1)

基于How can I hide/delete the "?" help button on the "title bar" of a Qt Dialog?,你可以这样做:

from PySide import QtGui, QtCore
app = QtGui.QApplication([])
d = QtGui.QDialog(None, QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint)
d.exec_()

答案 2 :(得分:1)

我创建了一个继承自QDialog的Dialog,并在 init 函数中编写以下代码。

self.setWindowFlags(self.windowFlags() ^ Qt.WindowStaysOnTopHint)

标题栏上的问题按钮消失了

PS。我的程序基于PySide 1.2.1和Python 3.3