首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT C++如何锁定应用程序或禁用3-5分钟的可点击性

QT C++如何锁定应用程序或禁用3-5分钟的可点击性
EN

Stack Overflow用户
提问于 2022-06-23 07:06:12
回答 2查看 80关注 0票数 0

我想禁用对整个应用程序的单击,同时从串行连接接收数据。我想用一个消息框在屏幕上打印信息,并在一定时间内关闭点击,我怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2022-06-23 07:18:41

抓取鼠标获取小部件qml的setKeepMouseGrab可能有用。添加一个获取鼠标事件的虚拟小部件。当你开始接收数据时,让它抓取事件。

票数 2
EN

Stack Overflow用户

发布于 2022-06-23 07:18:04

“锁定”应用程序从来都不是一个好主意,因为您的操作系统会认为应用程序没有响应能力,并强行将其击落。

您想要的是一个模态对话框(它运行在主线程上),它有一个进度指示器,没有可点击的接口。

实现这一目标的一个非常基本的代码是:

代码语言:javascript
复制
void startTransfer()
{
    ProgressBarDialog dlg;    //Inherits from QDialog
    //Create asynchronous transfer task.
    dlg.setModal(true);
    //Connect task and modal dialog
    dlg.exec();
}

在传输运行时,exec将“阻止”与其他窗口的所有交互。实际上,只有在对话框完成其工作之后,exec才会返回。

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

https://stackoverflow.com/questions/72725906

复制
相关文章

相似问题

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