QListWidget添加删除

线程

qt和vc一样自由线程模式,线程间可以访问ui,但线程间访问qt内部封装问题,导致很多一样,可以使用信号和槽线程间传递数据,避免异常

线程间传递的数据,非元数据需要注册

qRegisterMetaType(“QString”)

Qt::ConnectionType决定了消息的传递方式

  • Qt::DirectConnection 不能跨线程
  • Qt::QueuedConnection 可以跨线程
  • Qt::QueuedConnection跨线程带阻塞
  • Qt::AutoConnection同一线程DirectConnection,不同线程QueuedConnection

qlistwidget

additem后删除使用,下面方法删除,在信号槽中使用,由于跨线程触发频率过高Queued可能异常

ui.listwidget->clear()
delete ui.listwidget->takeitem(0);

你可能感兴趣的:(程序人生,qt,listwidget)