<1> 今天绑定信号与槽的时候出个错误,特别记录一下
/*错误的写法: 信号与槽函数前面加了作用域的限定
*这样写编译不会出错,但是无法触发槽事件
*/
connect(comm1,
SIGNAL(QSerialPort::readyRead()),
this,
SLOT(MainWidget::comm1_ReceivedData())
);
/*绑定信号与槽的写法 一*/
connect(comm1,
SIGNAL(readyRead()),
this,
SLOT(comm1_ReceivedData())
);
/*绑定信号与槽的写法 二*/
connect(comm1,
&QSerialPort::readyRead,
this,
&MainWidget::comm1_ReceivedData
);
写法一, 看有的帖子说是旧版本的写法,Qt5以后用写法二。
但是帖子中有说,写法二在多信号及多槽的时候还需要其他修饰,不如写法一。
<2> 记录几个今天刚学的用法
//<1> QString 转成 QByteArray
QString str;
QByteArry arr;
arr = str.toLatin1(); //英文转成ascii, 汉字出错
arr = str.toLocal8Bit(); //英文数字转成ascii,占1字节 汉字转成 gb2312/gbk 占2字节
arr = str.toUtf8(); //英文数字转成ascii,占1字节 汉字转成 utf8 占2/3/4字节