使用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_())
相关推荐
多米Domi0111 小时前
0x3f 第49天 面向实习的八股背诵第六天 过了一遍JVM的知识点,看了相关视频讲解JVM内存,垃圾清理,买了plus,稍微看了点确定一下方向
jvm·数据结构·python·算法·leetcode
人工智能训练6 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
yaoming1686 小时前
python性能优化方案研究
python·性能优化
码云数智-大飞7 小时前
使用 Python 高效提取 PDF 中的表格数据并导出为 TXT 或 Excel
python
biuyyyxxx9 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
极客数模9 小时前
【2026美赛赛题初步翻译F题】2026_ICM_Problem_F
大数据·c语言·python·数学建模·matlab
小鸡吃米…10 小时前
机器学习中的代价函数
人工智能·python·机器学习
Li emily11 小时前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股
m0_5613596711 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
Ulyanov12 小时前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲