QT多线程简单例子

QT多线程简单例子在 Qt 中实现多线程 除了使用全局变量 还可以使用信号 槽机制 以下例子使用信号 槽机制 功能 在主线程 A 界面上点击按钮 然后对应开起一个线程 B 线程 B 往线程 A 发送一个字符串 线程 A 打印出来 1 工程文件目录 2 thread h 和 thread cpp ifndefTHREAD H defineTHREAD H include lt QThread gt in

在Qt中实现多线程,除了使用全局变量。还可以使用信号/槽机制。

以下例子使用信号/槽机制。

功能: 在主线程A界面上点击按钮,然后对应开起一个线程B。线程B往线程A发送一个字符串,线程A打印出来。

1、工程文件目录

QT多线程简单例子

2、thread.h 和thread.cpp

#ifndef THREAD_H #define THREAD_H #include 
  
    #include 
   
     class Thread : public QThread { Q_OBJECT public: Thread(); virtual void run(); void stop(); signals: void send(QString msg); private: }; #endif // THREAD_H 
    
  

 

#include "thread.h" Thread::Thread() { } void Thread::run() { //发送一个信号给主线程 emit send(QString("thread")); } 
#ifndef WIDGET_H #define WIDGET_H #include 
  
    #include"thread.h" namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); void text(); public slots: void accept(QString msg); private slots: void on_pushButton_clicked(); private: Ui::Widget *ui; Thread thread; }; #endif // WIDGET_H 
  

 

#include "widget.h" #include "ui_widget.h" #include 
  
    Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); QObject::connect(&thread, SIGNAL(send(QString)), this, SLOT(accept(QString))); // thread.start(); } Widget::~Widget() { delete ui; } void Widget::accept(QString msg) { qDebug()< 
    
  
#include "widget.h" #include 
  
    int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); } 
  

 

 

 参考:http://blog.csdn.net/xipiaoyouzi/article/details/

            http://write.blog.csdn.net/postedit

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211865.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午9:24
下一篇 2026年3月18日 下午9:25


相关推荐

  • java soa是什么_如何通俗易懂地解释什么是SOA?

    java soa是什么_如何通俗易懂地解释什么是SOA?对于SOA,感觉这个概念性的东西没那么容易理解,看了各位大神的解释感觉很多都说的很抽象,所以想尝试用自己的语言解释下,仅做参考。SOA粗暴理解:把系统按照实际业务,拆分成刚刚好大小的、合适的、独立部署的模块,每个模块之间相互独立。比如现我有一个数据库,一个JavaWeb(或者PHP等)的网站客户端,一个安卓app客户端,一个IOS客户端。现在我要从这个数据库中获取注册用户列表,如果不用SOA的设计…

    2022年6月15日
    30
  • 手眼标定之基本原理

    手眼标定之基本原理文章目录一前言二Eye-in-Hand2.1基础知识准备2.2Eye-in-Hand基本原理三跋原文首发于微信公众号【视觉IMAX】。一前言机器人的视觉系统分为固定场景视觉系统和运动的「手-眼」视觉系统。摄像机与机器人的手部末端,构成手眼视觉系统。根据摄像机与机器人相互位置的不同,手眼视觉系统分为Eye-in-Hand系统和Eye-to-Hand系统。Eye-in-Hand…

    2022年6月12日
    44
  • 開始Unity3D的学习之旅

    開始Unity3D的学习之旅

    2021年11月24日
    51
  • vue路由守卫

    vue路由守卫路由守卫分为三种 分别是 全局路由守卫 组件路由守卫 独享路由守卫 一 全局守卫全局守卫又分为全局前置守卫 和后置守卫 1 router beforeEach to from next gt 回调函数中的参数 to 进入到哪个路由去 from 从哪个路由离开 next 函数 决定是否展示你要看到的路由页面 从名字全局前置守卫不难理解 它是全局的 即对整个单页应用 SPA 中的所有路由都生效 所以当定义了全局的前置守卫 在进入每一个路由之

    2026年3月20日
    2
  • 最全!最完整的递归下降分析法代码!!! (实验报告,代码)

    最全!最完整的递归下降分析法代码!!! (实验报告,代码)根据某一文法编制调试递归下降分析程序 以便对任意输入的符号串进行分析 本次实验的目的主要是加深对递归下降分析法的理解 程序要求 程序输入 输出示例 对下列文法 用递归下降分析法对任意输入的符号串进行分析 1 E gt TG 2 G gt TG TG 3 G gt 4 T gt FS 5 S gt FS FS 6 S gt 7 F gt E 8 F gt i 输出的格式如下 1 递归下降分析程序 编制人 姓名 学号 班级 2 输入一以 结束的符号

    2026年3月17日
    2
  • 数据库分库分表解决方案汇总

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者 | butterfly100 来源 | cnblogs.com/butterfly100/…

    2021年6月24日
    79

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号