使用python和pyqt开发的抽签小程序v1.0

使用python和pyqt开发的抽签小程序v1.0

作用

  1. 对输入框中的文本进行随机抽取,抽取数量为3行。

效果


代码

python 复制代码
import sys
import random
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTextEdit, QPushButton, QMessageBox


class RandomPicker(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 创建布局
        layout = QVBoxLayout()
        self.setWindowTitle("抽签小程序")
        # 创建第一个文本框用于输入选项
        self.input_text_edit = QTextEdit(self)
        self.input_text_edit.setPlaceholderText("请输入选项,每行一个")
        layout.addWidget(self.input_text_edit)

        # 创建抽签按钮
        self.draw_button = QPushButton('抽签', self)
        self.draw_button.clicked.connect(self.draw_random)
        layout.addWidget(self.draw_button)

        # 创建第二个文本框用于显示结果
        self.output_text_edit = QTextEdit(self)
        self.output_text_edit.setReadOnly(True)  # 设置为只读
        layout.addWidget(self.output_text_edit)

        # 设置窗口的布局
        self.setLayout(layout)

        # 设置窗口的标题和大小
        self.setWindowTitle('随机抽签程序')
        self.setGeometry(300, 300, 800, 600)
        self.show()

    def draw_random(self):
        # 获取输入文本框中的文本,并按行分割成选项列表
        options = self.input_text_edit.toPlainText().strip().split('\n')
        if not options:
            QMessageBox.warning(self, '警告', '请输入至少一个选项!')
            return

            # 从选项中随机选择三个不重复的结果
        try:
            drawn_options = random.sample(options, 3)
        except ValueError:
            QMessageBox.warning(self, '警告', '选项不足,无法抽取三个结果!')
            return

            # 将结果设置为第二个文本框的文本
        self.output_text_edit.setPlainText('\n'.join(drawn_options))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = RandomPicker()
    sys.exit(app.exec_())
相关推荐
深度学习lover37 分钟前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
API快乐传递者2 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
尚梦4 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
丕羽7 小时前
【Pytorch】基本语法
人工智能·pytorch·python
bryant_meng7 小时前
【python】Distribution
开发语言·python·分布函数·常用分布
paopaokaka_luck8 小时前
基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
java·spring boot·小程序·毕业设计·mybatis·1024程序员节
m0_594526308 小时前
Python批量合并多个PDF
java·python·pdf
工业互联网专业8 小时前
Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
vue.js·hadoop·python·flask·毕业设计·源码·课程设计
钱钱钱端9 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman