关于Qt的几个小问题。
1.如何在QListWidgetItem中添加按钮,或者其他控件?
答:首先想到的是重新写一个类继承QListWidgetItem,但是无法实现,没有去看Qt的源码,估计QListWidgetItem类是不让继承吧。然后google(PS:google比百度能够收到更多的内容)一下,发现QListWidget有一个setItemWidget(item,widget)函数,即将widget放到item之上,至于按钮如何布局,可以将要放的控件先在widget上布局,然后将整个widget放在item上即可。
2关于使用QByteArray时遇到的问题
答:QByteArray我个人认为它是操作关于字节的的类,而QString是针对于字符串。当然两者之前的转换关系网上很多,收索一下就是了。
(1)QByteArray by = mycom->readAll();
if(!by.isEmpty())
char ch = by.at(0);
关于上面的程序就是从串口接收一串十六进制的数据,提取第一个字节,但是程序运行过程中居然会报超出范围的错误,但是by的确不为空,对于这个问题我是百思不得其解,只有换一种做法,先将by转为QString,然后再转为QByteArray。然后在这样提取第一个字节by.at(0);关于这个问题还要研究研究。
然后 by.at(0)返回的是char类型,如果直接将它与数值,比如0x66之类的比较的话,会得不到所要结果,前面应加一个强制转换符 unsigned char