我正在使用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); }