qt - QDialog-如何删除最小化按钮

标签 qt kde qdialog

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

  • Windows和Gnome(Linux)
  • 出现模式对话框,并在右上角显示关闭按钮,并且最小化按钮为不存在
  • 最小化选项在每个对话框中以灰色显示。
  • 这是有道理的,因为QDialog是模态的-如果将其最小化,则将阻止整个应用程序。

  • 但是问题来了:

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

  • 看来这是平台相关的功能-

    我不确定该怎么做。

    有任何想法吗...? (我已经尝试过使用几个windowsFlags,但是找不到一个有效的集合。

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

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

    最佳答案

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

    this->setWindowFlags(Qt::SubWindow);
    

    如果您只想删除最小化按钮,请使用以下命令:
    this->setWindowFlags(Qt::Dialog);
    

    关于qt - QDialog-如何删除最小化按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26146574/

    相关文章:

    C++ Qt5 - 程序在 QThread 之前完成

    qt - 如何更改 PyQt4 中的 QStyle 属性?

    c++ - 对话窗口在完成之前关闭(已接受);

    linux - KDE Plasma禁用启动应用程序

    linux - * NIX GUI如何工作?

    c++ - Qdialog.exec() 是如何返回的

    c++ - 如何使用 qDebug 打印包含换行符的 QString

    configuration - 如何从脚本控制 KDE 监视器配置?

    qt - 在 QDockwidget 上添加控件(Qpushbutton 和 Qlineedits)

    c++ - 退出应用程序调用两次关闭事件