今天晚上写QT的上位机,写到了信号与槽,我寻思也没难写啊,一个connect的事情,结果程序一直莫名崩溃。我的.h文件是这样的:
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_FlashSerialPort_but_clicked();
void on_OpenSerialPort_but_released();
void SerialPort_ReceiveData();
private:
Ui::Widget *ui;
QSerialPort SerialPort1;// OK注意这个
void SerialPort_Search();
void SerialPort_Init();
};
本来在h文件的时候,我是直接QSerialPort SerialPort1;的,后来我要connect一个槽函数:

我寻思要用指针,直接改了那个QSerialPort* SerialPort1;然后程序开始崩溃。

我调试了很久,发现主要报错在这里……就是出在这个serialport1上面。

后来找了半天,看到了自己的构造函数:

OHHHHH,原来是我没有对象啊!那没事了……
作者在使用QT编写上位机时遇到程序崩溃,经检查发现是由于在使用QSerialPort时忘记创建对象。问题在于将QSerialPort类型改为指针后,没有在构造函数中初始化对象。
3058

被折叠的 条评论
为什么被折叠?



