没有关闭按钮的QProgressDialog

sas*_*alm 5 c++ qt

是否可以删除关闭按钮(见屏幕截图)QProgressDialog?我在docs/Google中找不到任何有用的东西.

我使用模态QProgressDialog来显示无限进程并阻止GUI直到冗长的操作完成.因为应该阻止GUI,所以我不希望用户能够关闭对话框.

在此输入图像描述

Lol*_*4t0 8

您可以通过清除适当的标志来隐藏每个窗口的关闭按钮:

用Qt 5.0

QProgressDialog dlg;
dlg.setWindowFlags(dlg.windowFlags() & ~Qt::WindowCloseButtonHint);
Run Code Online (Sandbox Code Playgroud)

Qt :: WindowCloseButtonHint 0x08000000添加关闭按钮.在某些平台上,这意味着Qt :: WindowSystemMenuHint可以正常工作.

早期版本

    QProgressDialog dlg;
    dlg.setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
Run Code Online (Sandbox Code Playgroud)

哪里

  • Qt::Window 代表窗口
  • Qt::WindowTitleHint 代表在窗口顶部显示标题
  • Qt::CustomizeWindowHint 代表不显示按钮