Qt - 禁用QDialog的"?" 按键

Nar*_*rek 20 c++ qt qdialog

我创建了一个QDialog实例,在'x'(关闭)按钮的左边我也有'?' 按钮.我如何禁用'?' ?

小智 40

更改窗口标志,例如在构造函数中:

this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
Run Code Online (Sandbox Code Playgroud)


Mat*_*gro 5

从Qt 4.6 QDialog文档:

QDialog::QDialog ( QWidget * parent  = 0, Qt::WindowFlags  f = 0 )
Run Code Online (Sandbox Code Playgroud)

构造一个父对话框parent.

对话框始终是顶级窗口小部件,但如果它具有父窗口,则其默认位置以父窗体为中心.它还将共享父级的任务栏条目.

小部件标志f将传递给QWidget构造函数.如果,例如,你不想要一个**这是什么按钮,在对话框的标题栏中**,传Qt::WindowTitleHint | Qt::WindowSystemMenuHintf.

另见QWidget::setWindowFlags().

  • 对于QDialog Qt :: WindowTitleHint | Qt :: WindowSystemMenuHint标志导致异常行为. (2认同)