我正在尝试制作一个监控硬件的应用程序,我想使用 Qthreadpool 而不是为每个小部件设置一个线程,并且我无法连接信号以显示输出。我也没有收到任何错误。我的旧代码运行良好并显示它应该使用 QThread 的内容:import sysfrom PyQt4 import QtCore, QtGuiimport uiimport timeimport mem_statsclass MainClass(QtGui.QMainWindow, ui.Ui_MainWindow): def __init__(self, parent= None): super(MainClass, self).__init__(parent) self.setupUi(self) self.mem_worker = MemWorker() self.mem_worker.start() self.connect(self.mem_worker, QtCore.SIGNAL('MEM_STATS'),self.show_mem_stats) def show_mem_stats(self, free_mem): self.free_memory_lcd.display(free_mem)class MemWorker(QtCore.QThread): def __init__(self): super(MemWorker, self).__init__() def run(self): while True: free_mem = mem_stats.free_mem() self.emit(QtCore.SIGNAL('MEM_STATS'), free_mem) time.sleep(1)if __name__ == '__main__': a = QtGui.QApplication(sys.argv) app = MainClass() app.show() sys.exit(a.exec_())但是当我将 MemWorker 类更改为 QRunnable 时,代码运行没有错误,但 QlcdNumber 不显示任何内容。
添加回答
举报
0/150
提交
取消