QT-多线程与界面之间交互总结

1. 线程与界面组件需要注意的地方

  • 在QThread线程中不能直接创建QWidget之类的界面组件.

  • 因为在QT中,所有界面组件相关的操作都必须在主线程中(也就是GUI thread)

  • 所以, QThread线程不能直接操作界面组件.

2.QThread线程如何操作界面组件-方法1

  • 将多线程类对象封装为GUI界面类的类成员

  • 然后在子线程定义信号函数,通过信号槽机制,向界面组件emit发射信号,从而实现间接操作.

3.QThread线程如何操作界面组件-方法2

  • 使用QApplication::postEvent()实现向界面发送事件,从而能够封装一个自定义类

4.使用Invokes()函数来调用界面组件的信号槽-方法3

一般使用该函数(用来调用对方的私有信号或槽):

该函数的连接方式默认使用的是Qt::AutoConnection

  • 表示如果接收者和发送者在同一个线程,则自动使用Qt::DirectConnection类型。如果接收者和发送者不在一个线程,则自动使用Qt::QueuedConnection类型。

比如,当我们想调用一个obj下的compute(QString, int, double)槽函数时:

则只需要写入:

QMetaObject::invokeMethod(obj, "compute",                            Q_ARG(QString, "sqrt"),                                                    Q_ARG(int, 42),                            Q_ARG(double, 9.7));

示例如下所示:

在Testtherd线程类里通过invokeMethod向父界面类的paintMsg槽函数发送信息

void Testtherd::run(){    int count=0;    while(1)    {        QString str="请稍等,正在验证用户,登录中";        for(int i =0;i<count;i++)           str.append('.');                   //循环添加小数点        count=(count+1)%7;        QMetaObject::invokeMethod(this->parent(), "paintMsg",                                            Q_ARG(QString, str));
        msleep(500);    }}

父界面类的paintMsg槽函数如下所示:

void loginwindow:: paintMsg(QString msg) {this->LineHint->setText(msg);}

运行效果如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23635.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt常用对话框设计

一、概述 Qt提供了多种自带的标准对话框&#xff0c;常见的对话框包括文件对话框、颜色对话框、字体对话框、输入对话框、消息对话框。 二、文件对话框 文件对话框通过QFileDialog类实现&#xff0c;通过文件对话框可以打开一个文件浏览对话框&#xff0c;可以实现打开文件、…

GUI编程--PyQt5--QWidget3 控件的交互

文章目录 控件是否可用控件是否可见编辑状态窗口的激活窗口关闭案例提示信息焦点操作 控件是否可用 obj.setEnabled(True) obj.isEnabled() 控件是否可见 显示与隐藏 本质是重新绘制所有的控件&#xff0c;从父控件依次到子控件。 obj.setVisible(True) 绘制图形 触发了pain…

Fdog系列(四):使用Qt框架模仿QQ实现登录界面,界面篇。

文章目录 一. 前言二. 正文1. 创建窗口&#xff0c;添加基本组件2. 自定义标题&#xff0c;隐藏任务栏标题&#xff0c;实现系统托盘显示3. 美化主界面&#xff0c;文本框的奇思妙想4. 实现背景阴影 一. 前言 Fdog系列已写目录&#xff1a; Fdog系列&#xff08;一&#xff0…

Qt之对话框(QDialog)

文章目录 一、对话框的概念二、与QWidget的区别三、对话框2种显示方法四、对话框返回值的概念本节示例 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、对话框的概念 对话框是和用户简短交互的一种窗口。如&#xff1a;登录界面&#xff0c;关于界…

《爱情公寓》电影,让我十年的情怀,一瞬间都喂了狗

点击上方“程序人生”&#xff0c;选择“置顶公众号” 第一时间关注程序猿&#xff08;媛&#xff09;身边的故事 作者 丁彦军 来源 恋习Python 如需转载&#xff0c;请联系原作者授权。 深陷抄袭之名、诉讼纠纷的《爱情公寓》终于上映了。 情怀粉们的力量不容小觑&#xff0c;…

长坡厚雪 一个智能手机的“大时代”迎面到来

作者 | 曾响铃 文 | 响铃说 “这是一个最好的时代&#xff0c;也是一个最坏的时代。 ” 在世界贸易关系、国际环境等不确定因素影响下&#xff0c;全球都蒙上了一层阴影。前不久召开的2023博鳌亚洲论坛主题就是“在不确定的世界中探寻确定性”&#xff0c;简单来说就是当前社…

《XP、面具框架玩机》小米手机玩机教程--菜鸟小回

《框架玩机》小米手机玩机教程 ChatGPT点击直接对话&#xff1a;小回公益GPT 注&#xff1a;刷机有风险&#xff0c;玩机需谨慎。 操作不当所造成后果与菜鸟小回无关&#xff01;&#xff01;&#xff01; 今天来分享小米手机玩机技巧&#xff0c;Magisk面具Xp框架! 可能你多上…

工程质量之研发过程管理需要关注的点

一、背景 作为程序猿&#xff0c;工程质量是我们逃不开的一个话题&#xff0c;工程质量高带来的好处多多&#xff0c;我在写这篇文章的时候问了一下CHATGPT&#xff0c;就当娱乐一下&#xff0c;以下是ChatGPT的回答&#xff1a; 1、提高产品或服务的可靠性和稳定性。高质量的系…

港联证券|存储概念再活跃,佰维存储盘中逼近涨停再创新高

存储概念11日盘中再度走强&#xff0c;截至发稿&#xff0c;佰维存储涨超19%&#xff0c;盘中迫临涨停再创上市以来新高&#xff0c;该股自上市以来累计大涨超500%&#xff1b;江波龙涨近15%盘中亦创出新高&#xff1b;此外&#xff0c;朗科科技涨近12%&#xff0c;同有科技涨近…

比尔盖茨:Web3没那么重要,元宇宙没革命性,人工智能最重要

1. 【比尔盖茨&#xff1a;Web3没那么重要&#xff0c;元宇宙没革命性&#xff0c;人工智能最重要】 微软联合创始人比尔•盖茨似乎与特斯拉CEO埃隆马斯克一样对元宇宙、Web3&#xff08;第三代互联网&#xff09;毫无兴趣。 当地时间1月12日&#xff0c;比尔•盖茨在美国社交新…

死磕数据库系列(二十二):MySQL 数据库机房架构与跨城容灾

点关注公众号&#xff0c;回复“1024”获取2TB学习资源&#xff01; 今天我将详细的为大家介绍 MySQL 数据库的机房架构与跨城容灾相关知识&#xff0c;希望大家能够从中收获多多&#xff01;如有帮助&#xff0c;请点在看、转发支持一波&#xff01;&#xff01;&#xff01; …

AI人工智能与机器人的探索和应用1.2

原文&#xff1a;https://mp.weixin.qq.com/s/Fpku8e1mvU1M7hOMV8rSnA chatgpt的火爆使用让人工智能掀起了新一轮的话题革命。当前的全球情况数据显示&#xff0c;人工智能、机器学习和机器人技术等创新产品几乎每个领域都普遍流行&#xff0c;无论是农业、医疗保健、教育、还…

一场云端的“神仙打架”:BAT加华为的影响未来之争

作者&#xff5c;震霆 出品&#xff5c;新芒X 公众号&#xff5c;GOwithAI Up in the Air &#xff01; 这是2009年上映的一部经典的电影名称&#xff0c;翻译成中文叫《在云端》&#xff0c;想必有不少人看过。 男主角因为工作性质成为空中飞人&#xff0c;穿梭在云…

全网最流氓还擦边的App,被华为封杀了!

&#x1f447;&#x1f447;关注后回复 “进群” &#xff0c;拉你进程序员交流群&#x1f447;&#x1f447; 来源丨程序员软件库 https://mp.weixin.qq.com/s/WFqu1mYYIiq8A-XNJgMA5Q ‍ 很多人下载APP&#xff0c;一般是用手机自带的应用商店&#xff0c;下载安装一条龙&…

华为推出打车平台 Petal,科技大厂再战聚合打车

作者|小满 声明|题图来源于网络。惊蛰研究所原创文章&#xff0c;文章转载自「惊蛰研究所」公众号。 沉寂许久的网约车市场&#xff0c;因为科技巨头的集体入局再次成为焦点。 7月27日&#xff0c;华为正式宣布上线聚合打车平台Petal出行&#xff0c;包括此前在微信内测打车服务…

腾讯VS华为:2021“渠道战争”第一枪

本文转载自 刺猬公社&#xff0c;作者 陈彬 2021年方才来临一个小时&#xff0c;华为与腾讯两大巨头就打了起来。 华为应用商店发布公告&#xff0c;宣布下架所有腾讯游戏&#xff0c;原因是“腾讯单方面就双方合作做出重大变更”。腾讯方很快做出回应&#xff0c;表明未能与华…

如果你还不知道什么是华为ICT大赛,你就OUT了!

&#xff08;小灰想象中的比赛现场&#xff09; ICT&#xff0c;全称Information Communications Technology。 华为ICT大赛是华为打造的面向全球大学生的年度例行ICT赛事&#xff0c;为华为ICT学院和有意愿成为ICT学院的高效学生提供国际化竞技和交流平台&#xff0c;增长学生…

华为内部推荐,比惨大会 (转载)

发信人: lansheng228 (大宅男), 信区: Joke 标 题: Re: 华为内部推荐&#xff0c;比惨大会 (转载) 发信站: 水木社区 (Thu Jul 17 18:50:26 2014), 站内 【 以下文字转载自 WorkLife 讨论区 】 发信人: diviner (diviner), 信区: WorkLife 标 题: Re: 华为内部推荐&#xf…

Tubi 快讯|中国团队 100 人啦

Tubi 中国团队 100 人啦 上周五&#xff0c;Tubi 迎来了中国团队的第 100 位同事&#xff01; 从最开始创立到 Tubi 中国团队第一次在公众号亮相&#xff0c;再到去年年底的关于 Tubi &#xff0c;你想知道的都在这里&#xff0c;Tubi 一路成长也一路收获&#xff0c;始终未变…

独家!华为、腾讯齐聚香港,一起密谋着什么?

4月17日&#xff0c;“TokenSky香港站 第16届TFC全球泛游戏大会”上主题为“游戏出海与未来链游之路”在香港科学园成功举办&#xff0c;现场座无虚席&#xff0c;全球游戏游戏研发商、发行商、渠道商、第三方等齐聚主会场&#xff0c;现场嘉宾就区块链游戏发展、游戏出海及变现…