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

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

作用

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

效果

在这里插入图片描述
在这里插入图片描述

代码

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_())

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 10:04:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 10:04:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 10:04:02       82 阅读
  4. Python语言-面向对象

    2024-04-29 10:04:02       91 阅读

热门阅读

  1. vim中如何查找一个/

    2024-04-29 10:04:02       30 阅读
  2. 48. 【Android教程】数据库:SQLite 的使用

    2024-04-29 10:04:02       22 阅读
  3. iOS 常用路径

    2024-04-29 10:04:02       27 阅读
  4. PyQt介绍——动画使用详解之动画组QAnimationGroup

    2024-04-29 10:04:02       27 阅读
  5. 【线上问题】记一次更新问题

    2024-04-29 10:04:02       33 阅读
  6. Axios的使用教程

    2024-04-29 10:04:02       30 阅读
  7. Beego面试知识点总结

    2024-04-29 10:04:02       30 阅读
  8. 微信小程序 - 登录(切屏后继续倒计时)

    2024-04-29 10:04:02       28 阅读
  9. 鸿蒙原生应用元服务开发-Web管理位置权限

    2024-04-29 10:04:02       33 阅读