全球删除? 从qt应用程序中的窗口标题button

我正在使用qt在windows上编写一个c ++应用程序,qt总是把这个“?” button在窗口标题。 目前我正在删除它在每个类的构造非常讨厌。 有没有办法在一个地方全局删除整个应用程序中的button?

没有具体的方法,但是如果你需要它的所有对话框/窗口,你可以创建基类,并在其构造函数中取消设置此标志:

this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); 

然后在所有对话框中使用这个基础对话框代替QDialog。

我有一个自定义的QDialog所有进一步的对话是从哪个(大多数)没有什么除了。

 class dialog : public QDialog { Q_OBJECT public: dialog(QWidget* = 0, Qt::WindowFlags = 0); }; 

 dialog::dialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) { setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); }