zl程序教程

您现在的位置是:首页 >  Python

当前栏目

python-无聊的知识大闯关

2023-03-20 15:34:03 时间

python知识库


案例分享

ui_window.py

from PySide2 import QtCore, QtGui, QtWidgets

class Ui_Window(object):
    def setupUi(self, Window):
        Window.setObjectName("Window")
        Window.resize(600, 400)
        self.centralwidget = QtWidgets.QWidget(Window)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(20, 10, 541, 61))
        font = QtGui.QFont()
        font.setPointSize(16)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(70, 100, 451, 41))
        font = QtGui.QFont()
        font.setPointSize(12)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(70, 160, 461, 61))
        font = QtGui.QFont()
        font.setPointSize(16)
        self.lineEdit.setFont(font)
        self.lineEdit.setText("")
        self.lineEdit.setObjectName("lineEdit")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(70, 240, 91, 41))
        font = QtGui.QFont()
        font.setPointSize(12)
        self.pushButton.setFont(font)
        self.pushButton.setObjectName("pushButton")
        Window.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(Window)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 600, 22))
        self.menubar.setObjectName("menubar")
        Window.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(Window)
        self.statusbar.setObjectName("statusbar")
        Window.setStatusBar(self.statusbar)

        self.retranslateUi(Window)
        QtCore.QMetaObject.connectSlotsByName(Window)

    def retranslateUi(self, Window):
        Window.setWindowTitle(QtWidgets.QApplication.translate("Window", "知识大闯关", None, -1))
        self.label.setText(QtWidgets.QApplication.translate("Window", "知识大闯关", None, -1))
        self.label_2.setText(QtWidgets.QApplication.translate("Window", "知识题目?", None, -1))
        self.pushButton.setText(QtWidgets.QApplication.translate("Window", "确定", None, -1))

main.py

import sys 
from PySide2.QtWidgets import *
import random
from ui_window import Ui_Window

class Window(QMainWindow, Ui_Window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        #显示主窗体
        self.show()
        
        self.problem_dict = None
        self.problem = None
        self.answer = None
    
        self.problems = [
            {"content":'第一部神话集的名字?',"answer":'山海经'},
            {"content":'最大的手?--猜成语',"answer":'一手遮天'},
            {"content":'唐三藏西天取的什么经?',"answer":'大乘佛法'},
            {"content":'红军长征经过多少个省份?',"answer":'12'},
            {"content":'最长的腿?--猜成语',"answer":'一步登天'},
        ]
        
        self.next_problem()
        self.pushButton.clicked.connect(self.judge)
        
        
    def judge(self):
        if self.lineEdit.text() == self.answer:
            QMessageBox.information(self, '提示','回答正确',QMessageBox.Yes | QMessageBox.No)
            self.problems.remove(self.problem_dict)
            self.lineEdit.setText("")
            self.next_problem()
        else:
            QMessageBox.information(self, '提示','回答错误',QMessageBox.Yes | QMessageBox.No)
            
    def next_problem(self):
        if self.problems:
            self.problem_dict = random.choice(self.problems)
            self.problem = self.problem_dict['content']
            self.answer = self.problem_dict['answer']
            self.label_2.setText(self.problem)
        else:
            QMessageBox.information(self, '提示','你已经全部通关',QMessageBox.Yes | QMessageBox.No)
            
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Window()
    sys.exit(app.exec_())

视频懒得录了,放个图片吧,可以自己复制代码运行。

python知识库