У меня проблема с обновлением переменной потоком! У меня есть следующая проблема:
RuntimeWarning: MetaObjectBuilder :: addMethod: недопустимая подпись метода для «CPU» self.threadclass.connect (SIGNAL ('CPU'), self.updateProgressBar) '
Код:
import sys
from PySide2 import QtWidgets, QtCore
from PySide2.QtCore import SIGNAL
from PySide2.QtWidgets import QApplication
from view import weicount_main_view
from source import sysinfo
class WeicountMain(QtWidgets.QMainWindow, weicount_main_view.Ui_MainWindow):
def __init__(self, parent=None):
super(WeicountMain, self).__init__(parent)
self.setupUi(self)
self.threadclass = ThreadClass()
self.threadclass.start()
self.threadclass.CPU_VALUE.connect(SIGNAL('CPU_VALUE'), self.updateProgressBar)
def updateProgressBar(self, val):
self.progressBar.setValue(val)
class CpuClass(QtCore.QObject):
cpu = Signal()
class ThreadClass(QtCore.QThread):
CPU_VALUE = CpuClass()
def __init__(self, parent=None):
super(ThreadClass, self).__init__(parent)
def run(self):
while 1:
self.CPU_VALUE.emit(SIGNAL('CPU_VALUE'), sysinfo.getCPU())
if __name__ == "__main__":
a = QApplication(sys.argv)
app = WeicountMain()
app.show()
sys.exit(a.exec_())
Файл sysinfo:
import psutil
def getCPU():
return psutil.cpu_percent(interval=1)