python-无聊的知识大闯关
2023-03-20 15:34:03 时间
案例分享
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_())
视频懒得录了,放个图片吧,可以自己复制代码运行。
相关文章
- Promise的九大方法(resolve、reject、then、catch、finally、all、allSettled、race、any)你都用过那些?
- 2023 前端一场面试及答案整理
- Python 四大主流 Web 编程框架
- 【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端
- PromiseA+规范之手写Promise
- AOP中的一些重要术语简介
- 【磐河旅行】之酒店API接口对接实录
- C#/.net程序调用python
- Python批量读取HDF多波段栅格数据并绘制像元直方图
- Python批量绘制遥感影像数据的直方图
- Apache HttpClient使用和源码分析
- 从0移植uboot (二) _uboot启动流程分析
- 我花16块得到了一个永久的微型服务器
- 如何优雅编写测试用例
- angr初探
- python定时器
- Python 元组列表排序:初学者可能忽视的细节
- 为什么sleeping的会话会造成阻塞
- Python3中的“加和”函数
- 一文看懂 Python 中的函数参数