当前位置: 首页 > wzjs >正文

服务周到的网站建站西seo优化排名

服务周到的网站建站,西seo优化排名,百度可以做网站吗,深圳网站建设g一、监控串口设备热插拔的方法 Qt 提供了多种方法来监控串口设备的热插拔事件,可以通过以下方法实现: 1、使用 QSerialPortInfo 轮询检测 定期调用 QSerialPortInfo::availablePorts() 检查可用串口列表的变化。通过比较前后两次的列表差异,可…

一、监控串口设备热插拔的方法

Qt 提供了多种方法来监控串口设备的热插拔事件,可以通过以下方法实现:

1、使用 QSerialPortInfo 轮询检测

定期调用 QSerialPortInfo::availablePorts() 检查可用串口列表的变化。通过比较前后两次的列表差异,可以判断设备是否被插入或拔出。

QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, [=]() {static QList<QSerialPortInfo> previousPorts = QSerialPortInfo::availablePorts();QList<QSerialPortInfo> currentPorts = QSerialPortInfo::availablePorts();if (currentPorts.size() > previousPorts.size()) {// 新设备插入} else if (currentPorts.size() < previousPorts.size()) {// 设备拔出}previousPorts = currentPorts;
});
timer->start(1000); // 每秒检查一次

2、使用平台特定事件监听(Linux)

在 Linux 系统下,可以通过监听 udev 事件来检测串口设备的热插拔。使用 QUdev 或直接通过文件系统监控 /dev 目录变化。

QFileSystemWatcher *watcher = new QFileSystemWatcher(this);
watcher->addPath("/dev");
connect(watcher, &QFileSystemWatcher::directoryChanged, [=](const QString &path) {// 检查 /dev 目录变化
});

3、重写nativeEvent函数


bool MainWindow::nativeEvent(const QByteArray &eventType, void *message, qintptr *result)
{MSG* msg = reinterpret_cast<MSG*>(message);if(msg->message == WM_DEVICECHANGE){qDebug()<<QSerialPortInfo::availablePorts().size();foreach (auto info, QSerialPortInfo::availablePorts()){qDebug()<<info.portName();}}return QMainWindow::nativeEvent(eventType, message, result);
}

二、实例展示

mainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QSerialPortInfo>QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();protected:bool nativeEvent(const QByteArray &eventType, void *message, qintptr *result) override;
private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainWindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <windows.h>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}bool MainWindow::nativeEvent(const QByteArray &eventType, void *message, qintptr *result)
{MSG* msg = reinterpret_cast<MSG*>(message);if(msg->message == WM_DEVICECHANGE){qDebug()<<QSerialPortInfo::availablePorts().size();foreach (auto info, QSerialPortInfo::availablePorts()){qDebug()<<info.portName();}}return QMainWindow::nativeEvent(eventType, message, result);
}

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/196872.html

相关文章:

  • 用花生做网站发稿网
  • 网站建设包括哪些内容怎样在百度上发布免费广告
  • window7 iis建立网站网站快速优化排名方法
  • 京东商城网官网 网上购物平台网站排名优化课程
  • 武汉手机网站建设seo营销网站
  • xampp做的网站能搜索吗semir是什么牌子衣服
  • 做pc网站软件整站优化seo
  • 做网站的office网上商城建设
  • 免费微信微网站模板下载不了推广之家app
  • 网站图标下载seo网站自动推广
  • 网站建设与管理vs2010软文推广广告公司
  • 做响应式网站图片需要做几版游戏app拉新平台
  • 做直播网站需要证书吗河北高端网站建设
  • 湖州网站建设公司如何申请一个网站域名
  • wordpress建什么站网站改进建议有哪些
  • 手机端网站怎么做排名靠谱的seo收费
  • 网站流量用完了天津百度整站优化服务
  • 阿里wordpressseo排名优化方式方法
  • 网站开发文献综述范文公司网页网站建设
  • 公司网站建设维护及使用管理办法百度推广代理怎么加盟
  • 网站怎么重装wordpress手机版怎么用百度快照
  • 通过服务推广网站的案例中国知名网站排行榜
  • 做网站专业的公司今晚比分足球预测
  • 企业做网站的凭证怎么做杭州seo技术
  • 建设银行企业网银网站无法打开软文100字左右案例
  • 华大 建设网站班级优化大师网页版
  • 企业营销战略百度seo最成功的优化
  • 网站建设消费者群体分析四川疫情最新消息
  • 祥云户网站sem优化是什么意思
  • 域名是com好还是cn好石家庄谷歌seo公司