QDialog - 如何删除最小化按钮

时间:2014-10-01 16:59:54

标签: qt kde qdialog

基于Qt 4.8,应用程序 - QDialog问题,最小化按钮

  • Windows和Gnome(linux)

    • 出现模态对话框,右上方有关闭按钮,最小化按钮不存在
    • 每个对话框中的最小化选项都显示为灰色。
    • 这是有道理的,因为QDialog是模态的 - 如果你最小化它,整个应用程序将被阻止。

但问题出现了:

  • 在KDE(linux)中出现最小化最大化按钮。

这似乎是一个平台相关的功能 -

我不确定该做什么。

任何想法......? (我已尝试使用一些windowsFlags,但无法找到一套有效的。

尝试:

  • setWindowFlags(Qt :: CustomizeWindowHint | Qt :: WindowCloseButtonHint);
  • Qt :: WindowFlags flags = getWindowFlags(); flags | = Qt :: WindowMinimizeButtonHint; setWindowFlags(标志)

---但基本问题是为什么Windows / GNOME上的行为与KDE不同

2 个答案:

答案 0 :(得分:1)

如果你想让MainWindow顶部没有任何按钮,请在MainWindow的构造函数中使用它:

this->setWindowFlags(Qt::SubWindow);

如果你只想删除最小化按钮,请使用:

this->setWindowFlags(Qt::Dialog);

答案 1 :(得分:0)

来自Qt Documentation

  

在使用KDE的Linux中,这段代码创建了一个没有关闭的窗口   最小化和最大化标题栏中的按钮。

setWindowFlags( Qt::Dialog | Qt::WindowTitleHint );