QDialog - 如何删除最小化按钮

The*_*heo 6 qt kde qdialog

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

  • Windows 和 Gnome (Linux)

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

但问题来了:

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

看来这是一个依赖于平台的功能 -

我不太确定该做什么。

有任何想法吗...?(我已经尝试了一些 windowsFlags,但找不到有效的一组。

尝试过:

  • setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint );
  • Qt::WindowFlags 标志 = getWindowFlags( ); 标志 |= Qt::WindowMinimizeButtonHint; 设置窗口标志(标志)

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

小智 5

如果您希望主窗口顶部没有任何按钮,请在主窗口的构造函数中使用它:

this->setWindowFlags(Qt::SubWindow);
Run Code Online (Sandbox Code Playgroud)

如果您只想删除最小化按钮,请使用以下命令:

this->setWindowFlags(Qt::Dialog);
Run Code Online (Sandbox Code Playgroud)