是否可以移除 QProgressDialog
的关闭按钮(请参见屏幕截图)?我在文档/Google中没有找到有用的信息。
我使用模态 QProgressDialog
显示无限进程,并阻止GUI,直到长时间操作完成。因为GUI应该被阻塞,所以我不希望用户能够关闭对话框。
通过清除相应的标志,您可以隐藏每个窗口的关闭按钮:
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
代表不显示按钮QProgressDialog::exec()
来显示对话框? - sashoalmexec
进行了测试。你的行为怎么样? - Lol4t0dlg.setWindowFlags(Qt :: WindowTitleHint | Qt :: Window | Qt :: CustomizeWindowHint);
可以生成一个没有任何按钮的窗口,而 Qt :: Popup
可以生成没有边框的窗口。 - Lol4t0dlg.setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowTitleHint);
,来自这个回答 - https://dev59.com/mWkw5IYBdhLWcg3wVpFi#15656707 - sashoalm