• 9233阅读
  • 11回复

[讨论]Qt5 串口编程,程序异常结束 [复制链接]

上一主题 下一主题
离线hbzjt2012
 

只看楼主 倒序阅读 楼主  发表于: 2014-05-26
这两天编了个简单的串口程序,为什么在Qt5 的mainwindow.h中声明 Qsrialport *mycom在运行时异常结束,而声明QSerialport mycom,就没事,不知什么原因?
离线jnny_cn

只看该作者 1楼 发表于: 2014-05-26
Qsrialport *mycom

你new了没?
离线liulin188

只看该作者 2楼 发表于: 2014-05-26

https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线hbzjt2012

只看该作者 3楼 发表于: 2014-05-26
回 jnny_cn 的帖子
jnny_cn:Qsrialport *mycom
你new了没? (2014-05-26 15:02) 

在头文件中使用QSreialport new *mycom;?不能这么用吧!
离线jnny_cn

只看该作者 4楼 发表于: 2014-05-26
回 hbzjt2012 的帖子
hbzjt2012:在头文件中使用QSreialport new *mycom;?不能这么用吧! (2014-05-26 16:04) 

在头文件中QSerialPort     *serial;

在cpp中serial = new QSerialPort(this);

大概是这样吧?
离线hbzjt2012

只看该作者 5楼 发表于: 2014-05-26
回 jnny_cn 的帖子
jnny_cn:在头文件中QSerialPort     *serial;
在cpp中serial = new QSerialPort(this);
....... (2014-05-26 16:12) 

这个在什么地方定义比较好,我希望他在当前类中的所有函数都可以调用!
离线jnny_cn

只看该作者 6楼 发表于: 2014-05-26
回 hbzjt2012 的帖子
hbzjt2012:这个在什么地方定义比较好,我希望他在当前类中的所有函数都可以调用! (2014-05-26 16:51) 

就在你当前类的头文件中
离线hbzjt2012

只看该作者 7楼 发表于: 2014-05-26
回 jnny_cn 的帖子
jnny_cn:就在你当前类的头文件中 (2014-05-26 16:57) 

说了半天又回来了,我在头文件中定义QSerialport *mycom运行不了,我现在关心的是这是为什么,QSerialport mycom,这样定义就没问题
离线jnny_cn

只看该作者 8楼 发表于: 2014-05-26
回 hbzjt2012 的帖子
hbzjt2012:说了半天又回来了,我在头文件中定义QSerialport *mycom运行不了,我现在关心的是这是为什么,QSerialport mycom,这样定义就没问题 (2014-05-26 17:01) 

在cpp中serial = new QSerialPort(this);

你没有实例化serial

而QSerialport mycom,不需要实例化
离线realfan

只看该作者 9楼 发表于: 2014-05-27
回 hbzjt2012 的帖子
hbzjt2012:说了半天又回来了,我在头文件中定义QSerialport *mycom运行不了,我现在关心的是这是为什么,QSerialport mycom,这样定义就没问题 (2014-05-26 17:01) 

QSerialport *mycom只是定义了一个指针,没有实体对象,需要创建实例
想在整个类中用,就在构造函数中
mycom = new QSerialport(this);

QSerialport mycom;是直接创建了一个对象,使用就没有问题了。

C++知识需要加强哦
离线liulin188

只看该作者 10楼 发表于: 2014-05-27
楼主需要学习的是C++,不是Qt
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线dosmlp

只看该作者 11楼 发表于: 2014-06-11
在哪里定义无所谓,
但一定要new一下,否则就会崩溃
快速回复
限100 字节
 
上一个 下一个