基于Python pyqt5的随机抽号机源代码 ,可设置抽号器的人数及刷新间隔,直接运行main.py即可

完整代码下载地址: pyqt5的随机抽号机源代码

main.py

import sys
from PyQt5.QtWidgets import QApplication
from UI.MyGui import MyWindows, MyGuiif __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用程序对象, sys.argv同c++的argv。全局对象:qApp# ===控件操作开始===# 1.1 创建控件widget = MyGui()mainWindow = MyWindows()mainWindow.setupUi(widget)  # 将ui文件生成的框架注册到widget中widget.show()# ===应用程序的执行===sys.exit(app.exec_())  # 程序的生命周期跟随app窗口, 并启动监听循环

MyGUI.py

import configparser
import random# from PyQt5.Qt import *  # 导入常用的Qt插件
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QWidget, QMessageBox
from plugin.Log.LogInFile import LogInFilefrom UI.PyQtDemo import Ui_MainWindow
from plugin.CfgManager.CfgSave import CfgFileManagerclass MyWindows(Ui_MainWindow):def __init__(self):super(MyWindows, self).__init__()# 共有属性self.qTimer = None  # 定时器self.cfm = CfgFileManager()  # 配置管理器# 私有属性self.__logInFile = LogInFile("../Roller.log")  # 记录日志self.__refreshCycle = 50  # 数码管刷新周期self.__stuNum = 50self.__startFlag = 0# 从配置文件读取配置信息self.GetAllCfgFromIni()def setupUi(self, MainWindow):super(MyWindows, self).setupUi(MainWindow)# UI调整self.qTimer = QTimer(MainWindow);self.LE_RefreshStep.setText(str(self.__refreshCycle))self.LE_StuNum.setText(str(self.__stuNum))# 信号链接self.qTimer.timeout.connect(lambda: self.ShowNumTimer())self.LE_StuNum.editingFinished.connect(lambda: self.SetStuNum(self.LE_StuNum.text()))self.LE_RefreshStep.editingFinished.connect(lambda: self.SetRefreshStep(self.LE_RefreshStep.text()))self.PB_Roller.clicked.connect(lambda: self.PB_Click())self.RB_LogSwitch.clicked.connect(lambda: self.__logInFile.LogSwitch())  # 抽号日志开关def GetAllCfgFromIni(self):# 从配置文件中读取值self.__refreshCycle = self.GetCfgFromIni("self.__refreshCycle")self.__stuNum = self.GetCfgFromIni("self.__stuNum")def GetCfgFromIni(self, Section):val = 50try:val = self.cfm.Get(Section)if val is None:val = 50else:val = eval(val)except configparser.NoSectionError:passreturn valdef SaveCfgToIni(self, Section, val):try:self.cfm.Save(str(Section), str(val))self.__logInFile.Log(str(Section) + ' = ' + str(val))except:passdef SetStuNum(self, num):try:self.__stuNum = int(eval(str(num)))self.SaveCfgToIni("self.__stuNum", self.__stuNum)self.LE_StuNum.setText(str(self.__stuNum))except:self.LE_StuNum.setText(str(self.__stuNum))msg_box = QMessageBox(QMessageBox.Critical, '错误', '设置为:' + str(num) + '[失败],请检查')msg_box.exec_()passdef SetRefreshStep(self, num):try:self.__refreshCycle = float(eval(str(num)))self.SaveCfgToIni("self.__refreshCycle", self.__refreshCycle)except:self.LE_RefreshStep.setText(str(self.__refreshCycle))msg_box = QMessageBox(QMessageBox.Critical, '错误', '设置为:' + str(num) + '[失败],请检查')msg_box.exec_()def PB_Click(self):self.__startFlag = (self.__startFlag + 1) % 2if self.__startFlag == 1:self.__logInFile.Log("start")random.seed()self.qTimer.start(self.__refreshCycle)self.PB_Roller.setText("停止")else:self.__logInFile.Log("stop")self.qTimer.stop()self.PB_Roller.setText("开始")def ShowNumTimer(self):num = random.randint(1, self.__stuNum)self.lcdNumber.display(num)self.__logInFile.Log(num)class MyGui(QWidget):def __init__(self):super(MyGui, self).__init__()def setCentralWidget(self, tmp):passdef setStatusBar(self, tmp):passdef setMenuBar(self, tmp):pass

完整代码下载地址: pyqt5的随机抽号机源代码

基于Python pyqt5的随机抽号机源代码 ,可设置抽号器的人数及刷新间隔相关推荐

  1. 手把手教你写一个基于python+pyqt5的股票盯盘软件

    今天教大家基于Python+pyqt5开发一款股票盯盘小软件,里面含有微信推送.策略分析.回测.实时统计持仓盈亏等功能,其实我们也可以把它叫做股票量化小软件.开发这么一款小软件首先得具备Python的 ...

  2. html 选择自动增加行数,为网页中的源代码自动设置行号

    本文演示了如何为网页中的源代码块自动设置行号. 现在,我们准备在网页中显示C++的Hello world.这段著名的代码如下所示: #include intmain() { std::cout < ...

  3. 基于Python PYQT5的GUI亚丁号辅助登陆界面

    一.准备工作 1.Python 3.7 (没升级) 2.pyqt5(6的api改了好多并且网上资料少) 3.pycharm社区版 4.OS widows11 二.真相 三.实际代码 主要就是个布局,界 ...

  4. 基于python pyvisa模块控制GPIB设备识别不到设备资源号问题

    项目场景: 要注意首先安装GPIB的驱动和NI-VISA软件. 使用python控制E4440A频谱分析仪等设备,主要获取测试时的参数,数据保存到某平台报表.但在调试过程中主要遇到控制最大的问题就是找 ...

  5. django基于python的图书馆管理系统--python-计算机毕业设计

    项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息.为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代, ...

  6. django基于python的旅游网站--python-计算机毕业设计

    项目介绍 旅游网站系统的用户分管理员和用户两个角色的权限子模块. 管理员所能使用的功能主要有:首页.个人中心.用户管理.景点分类管理.景点信息管理.门票预订管理.酒店信息管理.客房信息管理.客房预订管 ...

  7. 基于python的CFC滤波器实现(附源代码)

    初学python欢迎各位大佬指正 参考文件 ISO6487 标准文件 ISO 6487: Road vehicles - Measurement techniques in impact tests ...

  8. 基于Python的学生信息管理系统(附源代码)3.7

    开发环境要求 本系统的软件开发及运行环境具体如下. 操作系统:Windows 7.Windows 10. Python版本:Python 3.7.0. 开发工具:Python IDLE. 运行方法 在 ...

  9. 【基于python版本的连续英文分词实现java版本的英文分词器】

    连续英文分词器java版本 定义词典, 构建词典 切词实现 在搜索领域,用户的输入是千奇百怪的,有时候用户输入的是连续的英文,如果不能有效的进行切分,那么搜索召回的效果可能会比较差,所以我们需要针对连 ...

最新文章

  1. UITextView添加占位字符
  2. 二叉树构建及双向链表
  3. 用java调用.net的wcf其实还是很简单的
  4. $.each()、$.map()区别浅谈
  5. js不区分大小写查找字符串
  6. ubuntu php 关闭警告,ubuntu部署OWASP Mutillidae II php WARING
  7. DataTable转Csv,Excel(转)
  8. Educational Codeforces Round 52E(构造,快速幂)
  9. 第十三章 hadoop机架感知
  10. 多表查询过滤重复数据_数据分析工具SQL—多表查询
  11. 计算几何模板(kuangbin)
  12. linux图片处理软件,Ubuntu 下图像处理软件汇总
  13. Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论
  14. 更改win10系统的默认图片打开方式为windows照片查看器
  15. element-ui表格合并数据相同行
  16. 本周最新文献速递20211226
  17. OUC课程评价小程序(测试报告)
  18. uni-app 解决软键盘弹起输入框遮盖问题
  19. nova service的heatbeat机制
  20. php文章内链教程,怎么给文章关键词自动添加内链链接? - WordPress教程

热门文章

  1. AM335x启动流程(BootRom-MLO-Uboot)
  2. Springboot学生作业管理系统毕业设计-附源码251208
  3. Ubuntu 12.04 更改 lightdm 登陆界面背景图
  4. webInspect SprinBoot2.x安全整改
  5. 如何编写功能测试报告
  6. 某高速小程序获取sign
  7. PCB学习笔记——如何改变图纸大小
  8. [转帖]NVMe到底是什么?用它的SSD有啥优势?
  9. [转载]java图片缩放处理
  10. iOS.用3D touch长按图标来实现快捷操作