没有关闭按钮的QProgressDialog

时间:2013-06-04 14:26:33

标签: c++ qt

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

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

enter image description here

1 个答案:

答案 0 :(得分:8)

您可以通过清除相应的标记隐藏每个窗口的关闭按钮:

使用Qt 5.0

QProgressDialog dlg;
dlg.setWindowFlags(dlg.windowFlags() & ~Qt::WindowCloseButtonHint);
  

Qt :: WindowCloseButtonHint 0x08000000添加关闭按钮。在某些平台上,这意味着它可以使用Qt :: WindowSystemMenuHint。

使用早期版本

    QProgressDialog dlg;
    dlg.setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);

,其中

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