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

上海昆山网站公司制作一个网站的费用是多少

上海昆山网站公司,制作一个网站的费用是多少,冲电气软件 网站建设,自己做网站需要学什么一、监控串口设备热插拔的方法 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/125898.html

相关文章:

  • 做网站单位百度推广天天打骚扰电话
  • 网站手机访问 动易江西百度推广开户多少钱
  • 营销型网站建设 上海semiconductor
  • seo网站买百度在线客服中心
  • 深圳罗湖做网站58西安网站维护公司
  • 课程设计代做网站php网站推广排名优化
  • 网站开发用什么技术网络营销项目策划书
  • 长春百度搜索排名优化河北百度seo关键词
  • 兰州网站建设王道下拉強最新经济新闻
  • 网站精品案例百度免费下载安装
  • 海外网站免费建设百度指数查询手机版app
  • 丹东网站建设公司google排名
  • 运营推广计划怎么写广告优化师工资一般多少
  • 重庆市建设工程造价管理总网站想做seo哪里有培训的
  • 网站维护推广怎么做如何宣传推广
  • 网站建设网站的好处seo的外链平台有哪些
  • 南宁网站建设7make网站推广优化怎么做最好
  • 注册公司网站开发建设营业项目新型网络营销方式
  • 笑话网站源码带wap西安网络优化培训机构公司
  • wordpress和关键词排名优化怎么样
  • dede学校网站模板下载网站推广方式有哪些
  • 大连网站建设设计推广教程
  • 墙纸 html 网站模板seo怎么优化方案
  • 网站开发公司需要那些硬件设备个人免费自助建站网站
  • 外贸网站开发多少钱app推广好做吗
  • 广东企业网站seo报价快速收录网
  • 实惠的网站建设网络运营培训班
  • 企业网站开发研究现状宁波如何做seo排名优化
  • 做网站网络公司新媒体营销六种方式
  • 学校网站建设项目可行性分析报告seo在线外链