首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt:我怎样才能把我的主窗口放在后台,同时用forground中的窗口处理?

Qt:我怎样才能把我的主窗口放在后台,同时用forground中的窗口处理?
EN

Stack Overflow用户
提问于 2010-09-02 20:14:17
回答 3查看 6.5K关注 0票数 3

我正在使用Qt框架,并且我正在寻找最好的方法来向用户展示Im正在处理一些东西。

在Qt中,我可以:

将主窗口放在后台,并弹出窗口到前台,例如“处理”消息

在完成处理之前,“处理”窗口将关闭,主窗口返回到前台。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-03 00:26:21

使用QProgressDialog。它就是为这种用途而设计的。您可以将QProgressDialog用作模式对话框,从而阻止用户与主窗口进行任何交互。QProgressDialog还为您提供了一种简单的方式来显示处理进度,并提供了一个用于中止处理的可选按钮。

编辑:

QProgressBar可以在两种状态下使用:分步进行或仅显示忙碌状态。

QProgressDialog的进度条不能用于显示忙碌状态,因为这需要将QProgressDialog的最小值和最大值设置为0,这会立即关闭进度对话框。但是,您可以使用setBar()-function为QProgressDialog提供一个新的进度条。然后你可以设置这个进度条的最小,最大和值为0,然后得到忙碌的外观。

代码语言:javascript
复制
QProgressDialog progressDialog("Processing...", "Abort", 0, INT_MAX, this);

QProgressBar* bar = new QProgressBar(&progressDialog);
bar->setRange(0, 0);
bar->setValue(0);
progress.setBar(bar);

progressDialog.setMinimumWidth(350);
progressDialog.setMinimumDuration(1000);
progressDialog.setWindowModality(Qt::WindowModal);
progressDialog.setValue(0);


// Do your time consuming processing here, but remember to change 
// the progress dialog's value a few times per second. 
// That will keep the busy indicator moving.
progressDialog.setValue(progressDialog.value() + 1);

// And check if the user has cancelled the processing
if (progressDialog.wasCanceled())
    break or return or whatever necessary


// When your processing is done, close the dialog.
progressDialog.close();
票数 8
EN

Stack Overflow用户

发布于 2010-09-02 20:25:31

你可以试一试:

在调用弹出窗口的函数中,只需隐藏主窗口,一旦进程弹出displayed.

  • Connect,则结束处理信号到主窗口的
  • Show()。如果您还没有为此预定义信号,请创建一个并发出它。

emit NameOfSignal;

希望这能有所帮助

编辑:

要禁用主窗口,请使用setDisabled而不是hide,使用setEnabled而不是show。

票数 4
EN

Stack Overflow用户

发布于 2010-09-02 21:05:58

你可以给你的"Processing"-window设置Qt::WindowStaysOnTopHint,让它停留在被禁用的主窗口之上。

如果你不喜欢它,你可以在处理窗口在顶部时使用QGraphicsBlurEffect模糊你的主窗口。这样,在处理完成之前,用户会认为主窗口是不可访问的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3626946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档