【发布时间】:2015-11-03 23:08:49
【问题描述】:
我正在使用QProgressDialog,当我启动进度条时,我禁用了关闭 (x) 按钮。
progress->setWindowFlags(progress->windowFlags() & ~Qt::WindowCloseButtonHint);
QProcess 中的操作完成后,在完成的插槽中,我重新启用了关闭按钮,但它不起作用。而是关闭进度窗口。我已经尝试了下面的两行,但效果相同。
progress->setWindowFlags(progress->windowFlags() | Qt::WindowCloseButtonHint);
或
progress->setWindowFlags(progress->windowFlags() | Qt::WindowCloseButtonHint | Qt::CustomizeWindowHint);
为什么它没有按应有的方式工作?
【问题讨论】:
-
代码:
setWindowFlags(windowFlags() & ~Qt::WindowCloseButtonHint);setWindowFlags(windowFlags() | Qt::WindowCloseButtonHint);有效且按预期工作(Qt5.2)您的连接可能有问题,插槽? -
@Chernobyl 它几乎不可能是连接。当
QProgressDialog启动时,我还删除了“取消”按钮,并在进程通过progress->setCancelButtonText("Ok");完成时在同一插槽中显示“确定”按钮,这工作正常,下一行启用 x 按钮没有,而是关闭对话框.如果我评论这一行,对话框会按预期保留在那里。 -
哦,我理解并重现了这个问题,真的!我会试着弄清楚。
标签: qt