【发布时间】:2018-04-09 02:29:07
【问题描述】:
我正在创建一个QProgressDialog,如下所示:
QProgressDialog progressDialog = new QProgressDialog(tr("Calculating..."), NULL, 0, 100, this);
progressDialog->setAutoClose(true);
progressDialog->setValue(0);
progressDialog->setWindowTitle(tr("Calculate Weights"));
progressDialog->setWindowFlags(progressDialog->windowFlags() & ~Qt::WindowCloseButtonHint);
progressDialog->show();
请注意,我使用Qt::WindowCloseButtonHint 标志来禁用“本机关闭按钮”。它似乎在 Windows 上运行良好,但在 OS X 上却不行(在 OS X 上,关闭按钮仍然可用,用户可以关闭 @ 987654325@)。
我还测试了其他标志(例如Qt::WindowSystemMenuHint、Qt::WindowTransparentForInput),但没有一个可以解决我的问题。
当然,我可以使用Qt::FramelessWindowHint 标志来删除“窗口的整个边框”,但这不是我的目标,因为我只想禁用关闭按钮。
我可以使用什么窗口标志来禁用/阻止 OS X 上的 QProgressBar 关闭按钮?
【问题讨论】:
标签: c++ qt qprogressdialog