3
상태 표시 줄 위젯을 업데이트하려면 어떻게해야합니까? 또한 어떻게 단추 대신 신호와 스레드를 사용할 수 있습니까? 감사!Pyqt 상태 표시 줄 위젯 업데이트
self.a = QtGui.QStatusBar.showMessage("System Status | Normal")
ver.addWidget(self.a)
showMessage
이되지 않습니다 : 당신은이 코드를
Error:
self.a = QtGui.QStatusBar.showMessage("System Status | Normal")
TypeError: QStatusBar.showMessage(QString, int msecs=0): first argument of unbound method must have type 'QStatusBar'
from PyQt4 import QtGui,QtCore
import sys
class main_window(QtGui.QWidget):
def __init__(self,parent=None):
#Layout
QtGui.QWidget.__init__(self,parent)
self.bt=QtGui.QPushButton('crash')
self.lbl=QtGui.QLabel('count')
ver=QtGui.QHBoxLayout(self)
ver.addWidget(self.bt)
self.cnt=0
self.running=False
self.connect(self.bt,QtCore.SIGNAL("clicked()"),self.count)
self.a = QtGui.QStatusBar.showMessage("System Status | Normal")
ver.addWidget(self.a)
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.count)
# check every second
self.timer.start(1000*1)
def count(self):
a = open("connection_cpu.txt","r")
if a == "CPU Overclocked":
abnormal_label = QtGui.QLabel("System Status | Normal")
abnormal_label.setStyleSheet(' QLabel {color: red}')
QtGui.QStatusBar.addWidget(abnormal_label)
self.repaint()
else:
normal_label = QtGui.QLabel("System Status | Normal")
QtGui.QStatusBar.addWidget(normal_label)
self.repaint()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
mw=main_window()
mw.show()
sys.exit(app.exec_())