首页 > 其他分享 >QT的类的一些知识点

QT的类的一些知识点

时间:2023-06-04 21:33:53浏览次数:39  
标签:知识点 QT serialPort 线程 信号 一些 public

给一个例子

class SerialReaderThread : public QThread
{
    Q_OBJECT
public:
    explicit SerialReaderThread(QSerialPort* serialPort, QObject* parent = nullptr)
        : QThread(parent), serialPort(serialPort)
    {
    }

protected:
    void run() override
    {
        if (serialPort->isOpen() && serialPort->isReadable())
        {
            qDebug()<<"open!";
            while (!isInterruptionRequested())
            {
                if (serialPort->waitForReadyRead(100))  // 等待数据到达,最长等待100毫秒
                {
                    QByteArray receiveData = serialPort->readAll();
                    emit dataReceived(receiveData);
                }
            }
        }
    }

signals:
    void dataReceived(const QByteArray& data);

private:
    QSerialPort* serialPort;
};

 

Q_OBJECT:
  QT的一个宏,用于声明一个类为Qt元对象(QObject)的派生类。它是Qt元对象系统的一部分,用于支持信号(signal)和槽(slot)机制,以及其他与元对象相关的功能。
signals:
  声明了一个信号,当线程和信号和其他线程和信号连接时,可以通过线程发射出信号将”中断信号“以及带上该线程有用的数据发送给其他连接的线程。

public slot:
  简单的理解为槽信号对应的槽函数
 

 

标签:知识点,QT,serialPort,线程,信号,一些,public
From: https://www.cnblogs.com/toriyung/p/17456391.html

相关文章

  • GitHub使用Git中用到的一些命令
    gitinit这个命令用于在当前目录中创建一个新的Git仓库。它会在当前目录下生成一个名为.git的子目录[email protected]:shui00cc/repository.git这个命令用于将远程仓库的URL添加到你的本地Git仓库中。origin是一个远程仓库的别名,用于简化引用。......
  • pyqt5笔记-菜单与工具栏
    目录主窗口状态栏动作组合菜单栏子菜单勾选菜单右键菜单工具栏关闭当前窗口和结束应用程序主窗口QMainWindow就是主窗口,QMainWindow提供了更多的特性,如菜单栏、工具栏、状态栏和停靠窗口等,它是为复杂的主窗口应用设计的。QMainWindow继承自QWidget,所以QMainWindow不仅可以......
  • QT--C++简学
    2.1C++语言的新特点(对于C语言来说) 赋值:直接------- intx(100) 在定义的时候就可以赋值,相当于x=100;2.2输入(cin)--------输出(cout)  2.2.1   cout<<x<<endl;  //一个变量             --------printf     cout<<x<......
  • android webview 使用以及一些常见的异常处理
    android中的提供webview控件,可以方便开发人员是自己的应用嵌入网页浏览功能,但实际开发中却会遇到一些问题,这个稍后会介绍到,效果图: 先来看个实例: 1.publicclassMainActivityextendsActivity{2.finalStringCOMPANY_WEB=;3.privateWebViewmWebView;4.......
  • 基于Admin.NET框架的前端的一些改进和代码生成处理(2)
    在上篇随笔《基于Admin.NET框架的前端的一些改进和代码生成处理(1)》中大致介绍了一些关于对Admin.NET框架的前端的改造工作,主要目的就是希望能够增加前端代码的简洁性和可读性,以及利用代码生成工具来快速生成相关的代码,从而减少开发过程中的繁琐问题。本篇随笔继续探讨一下,对其中一......
  • 基于Admin.NET框架的前端的一些改进和代码生成处理(1)
    Admin.NET是一套基于Furion/.NET6实现的通用管理平台,模块插件式开发,框架包含了常规的权限管理、字典等管理模块,以及一些Vue3的Demo案例,框架前后端分离。后端基于基于Furion/.NET6实现,底层集成SqlSugar;前端则是采用Vue-Next-Admin的前端框架,整体是一套非常不错的框架。本人比较喜......
  • jquery mobile的一些使用记录。
    [color=red][b]自定义按钮图标去除按钮阴影/圆角[/b][/color][url]http://bbs.phonegap100.com/thread-218-1-1.html[/url][color=red][b]jQueryMobile自定义按钮图标[/b][/color]JqueryMobile自定义按钮图标[url]http://liningjustsoso.iteye.com/blog/1986769[/url][co......
  • JUC知识点框架
    JUC(java.util.concurrent)atomicAtomicBooleanAtomicIntegerAtomicLongAtomicReferencelocksAQS(AbstractQueuedSynchronizer)ReentrantLockConditionLockSupportReentrantReadWriteLockStampedLockAQS典型应用ReentrantLockCountDownLatchSemaphore......
  • dom4j 的一些用法
    [b][color=red]使用domj4API创建与修改XML文档[/color][/b][url]http://www.blogjava.net/tojava/archive/2005/12/20/24862.html[/url][color=red]dom4j修改xml文件[/color][url]http://lengchaotian.iteye.com/blog/1873658[/url]用dom4j修改xml(增......
  • JBPM5的一些概念
    [color=darkblue][b]人工任务分三部分[/b][/color]:1.运行一项[b][color=red]任务服务器[/color][/b],不仅启动了TaskServer,同时还加载了如群组,用户等数据。2.启动一个[color=red][b]流程实例[/b][/color],这个类的功能是启动一个流程实例。3.[color=red][b]......