Я пытаюсь заставить QLabel обновляться с помощью QTimer, но текст не обновляется при использовании .setText()
.Если я использую .show()
на self.price_label
, он будет перерисовывать текст поверх QLabel, так что, очевидно, это не правильный путь.
from PyQt5 import QtWidgets, QtGui, QtCore
import getters
class Window(QtWidgets.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(50, 50, 500, 300)
self.setWindowTitle("Hello There!")
self.setWindowIcon(QtGui.QIcon('logo.png'))
self.exitMenu = QtWidgets.QAction(" &Exit", self)
self.exitMenu.setShortcut("Ctrl+Q")
self.exitMenu.setStatusTip("Leave the app")
self.exitMenu.triggered.connect(self.close_application)
self.statusBar()
self.mainMenu = self.menuBar()
self.fileMenu = self.mainMenu.addMenu("&File")
self.fileMenu.addAction(self.exitMenu)
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.home)
self.timer.start(5000)
def home(self):
self.quit_button = QtWidgets.QPushButton("Quit", self)
self.quit_button.clicked.connect(QtCore.QCoreApplication.instance().quit)
self.quit_button.resize(100,100)
self.quit_button.move(100, 70)
self.symbol = getters.pair.get_price().get("symbol")
self.price = getters.pair.get_price().get("price")
print(self.symbol)
print(self.price)
self.price_label = QtWidgets.QLabel("%s %s" % (self.symbol, self.price), self)
self.price_label.resize(200, 100)
self.price_label.move(200, 100)
self.price_label.setText("%s %s" % (self.symbol, self.price))
QtWidgets.QApplication.processEvents()
self.show()
def close_application(self):
sys.exit()
def run():
app = QtWidgets.QApplication(sys.argv)
GUI = Window()
sys.exit(app.exec_())
run()
Я предполагаю, что мой QTimer может быть невернымпомещен и не правильно перерисовывает текст для QLabel?