PyQt4多线程定时刷新控件

时间:2023-03-09 23:52:43
PyQt4多线程定时刷新控件
1.通过事件关联和线程关联的方法刷新控件
self.listview=updatelistview()
self.listview.updateText.connect(self.viewlist)
 
listvew = threading.Thread(target=self.updatalistview, args=())
#创建守护进程
listvew.setDaemon(True)
listvew.start()
 
def updatalistview(self):
while True:
#if self.refresh==False:
            #线程定时睡眠
time.sleep(1)
self.listview.addseverthread()
 
def viewlist(self):

print 'view'
if self.refresh==False:

self.model = QStandardItemModel(self.ui.listView)
for food in listviewdata:
item = QStandardItem(food)
# Add a checkbox to it
item.setCheckable(True)
# Add the item to the model
self.model.appendRow(item)
class updatelistview(QtCore.QObject):
updateText = QtCore.pyqtSignal(str)
def addseverthread(self):

listvew = threading.Thread(target=self.monitor_vector, args=())
#创建守护进程
listvew.setDaemon(True)
listvew.start()

def monitor_vector(self):
        #发送信号槽事件
self.updateText.emit('updated list')
2.整个实现流程
PyQt4多线程定时刷新控件