python qt刷新_Python QT - 刷新所有小部件

这个博客介绍了一个使用Python QT构建的乘法程序。程序包含三个字段:两个只读的随机数字段和一个用于用户输入结果的字段。当用户输入的结果与随机数相等时,显示'Right Label',否则显示'Wrong Label'。博主希望通过点击'再次播放'按钮替换退出按钮,以实现重新生成随机数并清空结果的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个简单的python QT乘法程序 . 有3个字段,第一个随机数(只读),第二个随机数(只读)和第三行编辑,供用户输入结果 . 如果first * second = result,则显示Right Label,否则显示Wrong Label . 我想用再次播放按钮替换退出按钮,所以当用户按下它时,重新生成随机数并清除所有结果标签,用户再试一次 .

try:

_fromUtf8 = QtCore.QString.fromUtf8

except AttributeError:

def _fromUtf8(s):

return s

try:

_encoding = QtGui.QApplication.UnicodeUTF8

def _translate(context, text, disambig):

return QtGui.QApplication.translate(context, text, disambig, _encoding)

except AttributeError:

def _translate(context, text, disambig):

return QtGui.QApplication.translate(context, text, disambig)

class Ui_Form(object):

def setupUi(self, Form):

Form.setObjectName(_fromUtf8("Form"))

Form.resize(650, 644)

self.label_71 = QtGui.QLabel(Form)

self.label_71.setGeometry(QtCore.QRect(70, 20, 481, 41))

font = QtGui.QFont()

font.setFamily(_fromUtf8("Andika"))

font.setPointSize(26)

self.label_71.setFont(font)

self.label_71.setObjectName(_fromUtf8("label_71"))

self.layoutWidget = QtGui.QWidget(Form)

self.layoutWidget.setGeometry(QtCore.QRect(200, 570, 221, 29))

self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))

self.horizontalLayout_51 = QtGui.QHBoxLayout(self.layoutWidget)

self.horizontalLayout_51.setMargin(0)

self.horizontalLayout_51.setObjectName(_fromUtf8("horizontalLayout_51"))

self.pushButton_2 = QtGui.QPushButton(self.layoutWidget)

self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))

self.pushButton_2.clicked.connect(self.exit_)

self.horizontalLayout_51.addWidget(self.pushButton_2)

self.pushButton = QtGui.QPushButton(self.layoutWidget)

font = QtGui.QFont()

font.setBold(True)

font.setWeight(75)

self.pushButton.setFont(font)

self.pushButton.setObjectName(_fromUtf8("pushButton"))

self.pushButton.clicked.connect(self.praxis)

self.horizontalLayout_51.addWidget(self.pushButton)

### Line Edit 1 - 2 ###

self.count = 124

self.list_x1 = []

self.list_y1 = []

for i in range(10):

self.x1 = randint(2,9)

self.list_x1.append(self.x1)

self.ln1 = "self.lineEdit1_" + str(i)

self.ln1 = QtGui.QLineEdit(Form)

self.ln1.setText(str(self.x1))

self.ln1.setReadOnly(True)

self.ln1.setGeometry(QtCore.QRect(74, self.count, 40, 26))

self.ln1.setAlignment(QtCore.Qt.AlignCenter)

self.ln1.setObjectName(_fromUtf8("lineEdit"))

self.y1 = randint(2,9)

self.list_y1.append(self.y1)

self.ln2 = "self.lineEdit2_" + str(i)

self.ln2 = QtGui.QLineEdit(Form)

self.ln2.setText(str(self.y1))

self.ln2.setReadOnly(True)

self.ln2.setGeometry(QtCore.QRect(140, self.count, 40, 26))

self.ln2.setAlignment(QtCore.Qt.AlignCenter)

self.ln2.setObjectName(_fromUtf8("lineEdit_2"))

self.count += 35

#Εισαγωγή 1ης στήλης

self.count = 124

self.ln3_value = []

for i in range(10):

self.ln3 = "self.lineEdit3_" + str(i)

self.ln3_value.append(self.ln3)

self.ln3_value[i] = QtGui.QLineEdit(Form)

self.ln3_value[i].setGeometry(QtCore.QRect(206, self.count, 40, 26))

self.ln3_value[i].setAlignment(QtCore.Qt.AlignCenter)

self.ln3_value[i].setObjectName(_fromUtf8("lineEdit_3"))

self.count += 35

### Line Edit 3- 4 ###

self.count = 124

self.list_x2 = []

self.list_y2 = []

for i in range(10):

self.x2 = randint(2,9)

self.list_x2.append(self.x2)

self.ln4 = "self.lineEdit4_" + str(i)

self.ln4 = QtGui.QLineEdit(Form)

self.ln4.setText(str(self.x2))

self.ln4.setReadOnly(True)

self.ln4.setGeometry(QtCore.QRect(348, self.count, 40, 26))

self.ln4.setAlignment(QtCore.Qt.AlignCenter)

self.ln4.setObjectName(_fromUtf8("lineEdit_4"))

self.y2 = randint(2,9)

self.list_y2.append(self.y2)

self.ln5 = "self.lineEdit5_" + str(i)

self.ln5 = QtGui.QLineEdit(Form)

self.ln5.setText(str(self.y2))

self.ln5.setReadOnly(True)

self.ln5.setGeometry(QtCore.QRect(414, self.count, 40, 26))

self.ln5.setAlignment(QtCore.Qt.AlignCenter)

self.ln5.setObjectName(_fromUtf8("lineEdit_5"))

self.count += 35

#Εισαγωγή 2ης στήλης

self.count = 124

self.ln6_value = []

for i in range(10):

self.ln6 = "self.lineEdit5_" + str(i)

self.ln6_value.append(self.ln3)

self.ln6_value[i] = QtGui.QLineEdit(Form)

self.ln6_value[i].setGeometry(QtCore.QRect(480, self.count, 40, 26))

self.ln6_value[i].setAlignment(QtCore.Qt.AlignCenter)

self.ln6_value[i].setObjectName(_fromUtf8("lineEdit_6"))

self.count += 35

### / Line Edit 1 - 4 ###

### Labels 1 - 6 ###

self.lbl1_count = 119

for i in range(10):

self.lbl_1 = "self.label1_" + str(i)

self.lbl_1 = QtGui.QLabel(Form)

self.lbl_1.setGeometry(QtCore.QRect(120, self.lbl1_count, 14, 34))

self.lbl_1.setText(_translate("Form", "X", None))

font = QtGui.QFont()

font.setFamily(_fromUtf8("Andika"))

font.setPointSize(16)

self.lbl_1.setFont(font)

self.lbl_1.setObjectName(_fromUtf8("label"))

self.lbl1_count += 35

self.lbl2_count = 119

for i in range(10):

self.lbl_2 = "self.label2_" + str(i)

self.lbl_2 = QtGui.QLabel(Form)

self.lbl_2.setGeometry(QtCore.QRect(186, self.lbl2_count, 14, 34))

self.lbl_2.setText(_translate("Form", "=", None))

font = QtGui.QFont()

font.setFamily(_fromUtf8("Andika"))

font.setPointSize(16)

self.lbl_2.setFont(font)

self.lbl_2.setObjectName(_fromUtf8("label_2"))

self.lbl2_count += 35

self.lbl3_list = []

self.lbl3_count = 119

for i in range(10):

self.lbl_3 = "self.label3_" + str(i)

self.lbl3_list.append(self.lbl_3)

self.lbl3_list[i] = QtGui.QLabel(Form)

self.lbl3_list[i].setGeometry(QtCore.QRect(252, self.lbl3_count, 80, 34))

self.lbl3_list[i].setText(_translate("Form", "?", None))

font = QtGui.QFont()

font.setFamily(_fromUtf8("Andika"))

font.setPointSize(14)

self.lbl3_list[i].setFont(font)

self.lbl3_list[i].setObjectName(_fromUtf8("label_3"))

self.lbl3_count += 35

self.lbl4_count = 119

for i in range(10):

self.lbl_4 = "self.label2_" + str(i)

self.lbl_4 = QtGui.QLabel(Form)

self.lbl_4.setGeometry(QtCore.QRect(394, self.lbl4_count, 14, 34))

self.lbl_4.setText(_translate("Form", "X", None))

font = QtGui.QFont()

font.setFamily(_fromUtf8("Andika"))

font.setPointSize(16)

self.lbl_4.setFont(font)

self.lbl_4.setObjectName(_fromUtf8("label_2"))

self.lbl4_count += 35

self.lbl5_count = 119

for i in range(10):

self.lbl_5 = "self.label5_" + str(i)

self.lbl_5 = QtGui.QLabel(Form)

self.lbl_5.setGeometry(QtCore.QRect(460, self.lbl5_count, 14, 34))

self.lbl_5.setText(_translate("Form", "=", None))

font = QtGui.QFont()

font.setFamily(_fromUtf8("Andika"))

font.setPointSize(16)

self.lbl_5.setFont(font)

self.lbl_5.setObjectName(_fromUtf8("label_5"))

self.lbl5_count += 35

self.lbl6_list = []

self.lbl6_count = 119

for i in range(10):

self.lbl_6 = "self.label6_" + str(i)

self.lbl6_list.append(self.lbl_6)

self.lbl6_list[i] = QtGui.QLabel(Form)

self.lbl6_list[i].setGeometry(QtCore.QRect(526, self.lbl6_count, 80, 34))

self.lbl6_list[i].setText(_translate("Form", "?", None))

font = QtGui.QFont()

font.setFamily(_fromUtf8("Andika"))

font.setPointSize(14)

self.lbl6_list[i].setFont(font)

self.lbl6_list[i].setObjectName(_fromUtf8("label_6"))

self.lbl6_count += 35

### / Labels 1 - 6 ###

self.retranslateUi(Form)

QtCore.QMetaObject.connectSlotsByName(Form)

def retranslateUi(self, Form):

Form.setWindowTitle(_translate("Form", "Multiplication", None))

self.label_71.setText(_translate("Form", "Multiplication", None))

self.pushButton_2.setText(_translate("Form", "Exit", None))

self.pushButton.setText(_translate("Form", "Check", None))

def praxis(self):

self.lbl3_count = 119

for i in range(10):

self.val = self.ln3_value[i]

self.val2 = self.ln6_value[i]

self.get_val = self.val.text()

self.get_val2 = self.val2.text()

self.get_val_str = str(self.get_val)

self.get_val2_str = str(self.get_val2)

self.summary = self.list_y1[i] * self.list_x1[i]

self.summary2 = self.list_y2[i] * self.list_x2[i]

self.summary_int = str(self.summary)

self.summary_int2 = str(self.summary2)

if self.summary_int == self.get_val_str:

self.lbl3_list[i].setText(_translate("Form", "Σωστό!", None))

self.lbl3_list[i].setStyleSheet('color: green')

else:

self.lbl3_list[i].setText(_translate("Form", "Λάθος!", None))

self.lbl3_list[i].setStyleSheet('color: red')

if self.summary_int2 == self.get_val2_str:

self.lbl6_list[i].setText(_translate("Form", "Σωστό!", None))

self.lbl6_list[i].setStyleSheet('color: green')

else:

self.lbl6_list[i].setText(_translate("Form", "Λάθος!", None))

self.lbl6_list[i].setStyleSheet('color: red')

def exit_(self):

import sys

sys.exit()

if __name__ == "__main__":

import sys

app = QtGui.QApplication(sys.argv)

Form = QtGui.QWidget()

ui = Ui_Form()

ui.setupUi(Form)

Form.show()

sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值