如何解决当我尝试在mainwindow.cpp之外初始化QSerialPort时,QT给出错误
我正在尝试在QT中进行USB通信。但是当我编写代码时:
#include "usb.h"
#include "mainwindow.h"
#include <QtSerialPort>
#include <QSerialPortInfo>
#include <QtSerialPort/QSerialPortInfo>
#include <QtSerialPort/QSerialPortInfo>
#include <QSerialPort>
USB::USB()
{
QSerialPort *serial;
serial = new QSerialPort(this);
}
在某些不是我的mainwindow.cpp的资源中。它给我“没有匹配的构造函数来初始化'QSerialPort'”错误。但是,当我尝试在mainwindow.cpp中对其进行初始化时,没有错误。所以我想这些来源中缺少一些东西。
我如何摆脱此错误并以除我的主窗口之外的任何其他方式打开该serialPort?
我对QT和C ++还是陌生的,所以这可能是一个简单的问题,对此事表示抱歉。
解决方法
您应按以下方式声明USB类:
class USB : public QObject {
Q_OBJECT
public:
USB() : serial(new QSerialPort(this)) {}
private:
QSerialPort *serial;
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。