【发布时间】:2019-09-14 15:01:28
【问题描述】:
我不明白为什么我的标签文本在单击按钮后没有更新。如果我想在控制台上显示输出,没有问题。
import sys
from qtpy import QtWidgets
from UI.mainwindow import Ui_MainWindow
app = QtWidgets.QApplication(sys.argv)
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.calc_btn.clicked.connect(self.on_calc_btn_click)
def on_calc_btn_click(self):
weight = int(self.ui.weight_textbox.text())
height = int(self.ui.height_textbox.text())
bmi = weight/height**2
print(str(bmi)) # -> works
self.ui.bmi_label.setText(str(bmi)) # -> label does not update
window = MainWindow()
window.show()
sys.exit(app.exec_())
【问题讨论】:
-
分享
Ui_MainWindow班级 -
UI_MainWindow 类是 QT 自动生成的。这里只设置了默认样式
-
那么分享吧,因为根据你展示的逻辑应该没有问题
-
在PyQt5中可以正常工作,点击按钮后快捷方式的文本会更新。
-
@Baflora 正如 S.Nick 指出您的代码工作正常,您有任何错误消息吗?您使用的是什么 qtpy 后端?你的操作系统是什么?如果你使用 qtpy 作为 PyQt5 后端,那么你有什么版本的 PyQt5?
标签: python pyqt pyqt5 qt-designer