- 博客(6)
- 收藏
- 关注
原创 QT报错QTableWidget: cannot insert an item that is already owned by another QTableWidget
在QT中向table读的某一表格写入数据,刚开始我是以图中方式写的,new一次,然后同时向三个com端口里写数据,结果报错。后来发现需要每次写入都要重新new一个,每个只能往表中写一次。改成如下方法就没有问题了。每个if里都重新new一下就没问题了。
2024-08-23 09:22:32 390
原创 QT获取表格内容程序崩溃问题。
但是当表格内无内容是,执行会导致程序崩溃,解决方法如图所示,先判断表格内是否有内容。在获取table的某个表格内容时使用.text();
2024-08-22 13:54:20 247
原创 关于接收端口传来的数据不完整,最多只有32字节的问题
在一个程序中,端口传来多条数据,每条数据最多只有32字节,这就导致有些数据从中间被断开分到两条数据中,解析的时候就无法解析出来,造成数据丢失。其中buf在头文件中定义。然后对buf进行解析。
2024-08-22 13:50:54 136
原创 上位机向com端口发送数据无效,端口返回数据未发生变化
是QThread类的静态成员函数,它使调用线程进入睡眠状态,进入这种状态的线程不会消耗CPU资源,直到指定的毫秒数过去。是一个QTcpSocket类的成员函数,它用于等待所有缓冲区的数据被发送。当需要频繁多次向端口发送数据时需要加延迟,否则会导致数据发送失败。两行代码都具有延迟效果。
2024-08-22 13:37:31 117
原创 关于Qt中信号槽多次触发的问题
网上资料很多关于信号槽多次触发问题的解决办法,一是在连接方法中加qt::uniqueconnection,一是在使用及时断开连接。我遇到一种情况,是在子窗口中点击按钮创建连接,每次重新打开子窗口,都会导致信号槽多触发一次,即当第三次打开窗口,信号槽每次都会触发三次。之所以会出现这种情况,是因为写代码的时候把创建新出口类写在的点击按钮方法里面,每次点击按钮都会new一个新的窗口类,并且再次执行connect方法。在new之前判断是否已经存在这个类,不存在则new,并建立连接。
2024-08-16 08:34:09 428
原创 QT信号槽连接不上
如果将connect写在信号发送窗口里,需要将接收函数声明为public里,否则在发送窗口里无法找到接收函数。Qt信号槽的connect调用通常在窗口初始化的时候进行,即在创建窗口小部件并设置它们之后,在。不一定要写在第二个窗口即接收信号的窗口里。检查connect的位置。
2024-08-06 10:08:47 127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人