很难理解.cpp文件的
Transport::instance().setSerialPort(serialPort); //-----------------------
是怎么实现的 求解释
//头文件部分
#ifndef TRANSPORT_H
#define TRANSPORT_H
#include <QSerialPort>
class TranSport
{
public:
TranSport();
// 解释 :将构造函数设为局部静态函数
//static TranSport& instance 因为指针被取消了
//只能用到&把子类传回给父类,才能构成对象树
//mainwindows.h头文件中的这一句话
//Transport::instance().setSerialPort(serialPort);
// 作用 :起到了转化对象,方便将去父类数据传输给了TranSport
//正如 子类名字一样instance实例,转化后方便
static TranSport& instance()
{
//创建一个静态的对象
static TranSport instance;
//将数据传出去
return instance;
}
//.cpp文件部分
void MainWindow::on_open_clicked()
{
QSerialPort *serialPort;
if(ui->openSerialportBtn->text() == tr("打开串口"))
{
serialPort = new QSerialPort();
Transport::instance().setSerialPort(serialPort); //这一句话
//设置串口名
serialPort->setPortName(ui->comportNum_2->currentText());