【问题标题】:Remove what'sThis from a dialog in pyside从 pyside 的对话框中删除 what'sThis
【发布时间】:2013-04-18 15:44:21
【问题描述】:

我发现了很多关于在 C++ 中执行此操作的问题,但没有关于在 Python/PySide 中执行此操作的问题。 我想删除“?”按钮

从我的 QDialog 顶部。我知道我会使用setWindowFlags(),但是我不知道我应该传递什么作为参数。

【问题讨论】:

    标签: python pyside qdialog


    【解决方案1】:

    以下内容在不修改其他标志的情况下正常工作:

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

    【讨论】:

      【解决方案2】:

      基于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_()
      

      【讨论】:

      • 谢谢,我没有看到那个特别的问题,我不知道为什么。
      【解决方案3】:

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

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

      标题栏的问题按钮不见了

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

      【讨论】:

      • qt.WindowStaysOnTopHint 不会删除 what'sThis 问号,而是强制窗口始终处于顶层。您应该使用 qt.WindowContextHelpButtonHint,如上面 Nimar 所述。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多