pyqt5开发的漂亮界面_pyqt5美化包

pyqt5开发的漂亮界面_pyqt5美化包今天闲来无事,用python写了一个抽奖程序pyqt版本:pyqt5python版本:3.6.6下面直接上代码,有建议的话,欢迎大家交流评论!#-*-coding:utf-8-*-#Formimplementationgeneratedfromreadinguifile’Lucky_draw.ui’##Createdby:PyQt5UIcodegenerator5.15.1##WARNING:Anymanualchangesmadeto

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天闲来无事,用python写了一个抽奖程序
pyqt版本:pyqt5
python版本:3.6.6
下面直接上代码,有建议的话,欢迎大家交流评论!

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'Lucky_draw.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import (QMainWindow, QApplication,QLabel,QLineEdit,QMessageBox,QComboBox)
from PyQt5.QtCore import Qt, QSize
from PyQt5.QtCore import Qt, QThread, pyqtSignal
import sys
import random
import time

tester = ["发", "我", "人", "他", "去", "个", "给", "如", "吃", "分"]


class Ui_Lucky_draw(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(658, 526)
        self.horizontalLayoutWidget = QtWidgets.QWidget(Dialog)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(9, 9, 641, 401))
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.textEdit_2 = QtWidgets.QTextEdit(self.horizontalLayoutWidget)
        self.textEdit_2.setEnabled(False)
        self.textEdit_2.setObjectName("textEdit_2")
        self.horizontalLayout.addWidget(self.textEdit_2)
        self.label = QtWidgets.QLabel(self.horizontalLayoutWidget)
        self.label.setObjectName("label")
        self.horizontalLayout.addWidget(self.label)
        self.textEdit = QtWidgets.QTextEdit(self.horizontalLayoutWidget)
        self.textEdit.setEnabled(False)
        self.textEdit.setObjectName("textEdit")
        self.horizontalLayout.addWidget(self.textEdit)
        self.verticalLayoutWidget = QtWidgets.QWidget(Dialog)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 430, 641, 91))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.pushButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.pushButton.setObjectName("pushButton")
        self.verticalLayout.addWidget(self.pushButton)
        self.pushButton_2 = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.pushButton_2.setObjectName("pushButton_2")
        self.verticalLayout.addWidget(self.pushButton_2)
        qssStyle = ''' QPushButton{background-color:orange} '''
        # 加载设置好的样式
        self.verticalLayoutWidget.setStyleSheet(qssStyle)
        self.font = QtGui.QFont()
        self.font.setFamily("Arial")  # 括号里可以设置成自己想要的其它字体
        self.font.setPointSize(20)  # 括号里的数字可以设置成自己想要的字体大小
        self.textEdit.setFont(self.font)
        self.textEdit_2.setFont(self.font)
        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "欢乐大抽奖"))
        self.label.setText(_translate("Dialog", "-》"))
        self.pushButton.setText(_translate("Dialog", "开始游戏"))
        self.pushButton.clicked.connect(self.test)
        #self.textEdit.setPlaceholderText("大奖究竟花落谁家,敬请期待!!!")
        self.pushButton_2.setText(_translate("Dialog", "抽奖结束"))
        self.pushButton_2.clicked.connect(self.jump_to_success)



    def test(self):
        thread_conut = 0
        self.my_thread = MyThread()  # 实例化线程对象
        self.my_thread.my_signal.connect(self.set_label_func)
        self.my_thread.is_on = True
        self.my_thread.start()  # 启动线程
        self.pushButton.setEnabled(False)
        self.textEdit.setText("大奖究竟花落谁家,敬请期待!!!")
        # 线程自定义信号连接的槽函数


    def set_label_func(self, num):
        global tester
        self.textEdit_2.setPlainText(num)
        # 由于自定义信号时自动传递一个字符串参数,所以在这个槽函数中要接受一个参数

    def jump_to_success(self):
        #tester = ["发", "我", "人", "他", "去", "个", "给", "如", "吃", "分"]
        t = random.randint(0, 9)
        print(random.randint(0, 9))
        print('选中的幸运儿是:', tester[t], '新年快乐!')
        self.textEdit.setText('选中的幸运儿是:'+ tester[t]+' 新年快乐!')
        self.textEdit_2.setPlainText(tester[t])
        self.my_thread.is_on = False
        self.my_thread.count = 0
        self.pushButton.setEnabled(True)


    # 线程类
class MyThread(QThread):
    # 自定义信号对象。参数str就代表这个信号可以传一个字符串
    my_signal = pyqtSignal(str)
    def __init__(self):
        super(MyThread, self).__init__()
        self.count = 0
        self.is_on = True


    def run(self): #线程执行函数
        global tester
        while self.count < (len(tester)):
            while self.is_on:
                print('次数',self.count+1)
                self.my_signal.emit(str(tester[self.count]))  #释放自定义的信号
                self.count = random.randint(0, 9)
                #通过自定义信号把str(self.count)传递给槽函数
                self.sleep(1)  #本线程睡眠n秒【是QThread函数】

if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = QtWidgets.QWidget()
    window = Ui_Lucky_draw()
    window.setupUi(form)
    form.show()
    sys.exit(app.exec_())
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184383.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月31日 下午9:16
下一篇 2022年8月31日 下午9:16


相关推荐

  • 混元图像3.0重磅发布:80亿参数引领图生图时代

    混元图像3.0重磅发布:80亿参数引领图生图时代

    2026年3月12日
    1
  • java mencoder_java 用ffmpeg和mencoder进行视频转码

    java mencoder_java 用ffmpeg和mencoder进行视频转码1 准备阶段 首先需要 ffmpeg exe 和 mencoder exe java 需要调用这两个文件来进行转码 drv43260 dll pncrt dll pthreadGC2 dll 为动态链接库必须有 否则 rm 格式文件利用 mencoder 转换 avi 时会报如下错误 Openingvideo realvid RealVideodec

    2026年3月18日
    2
  • 中标麒麟6桌面版安装达梦7图解

    中标麒麟6桌面版安装达梦7图解中标麒麟 6 桌面版安装达梦 7 数据库一 系统环境准备二 资源包上传三 规划用户及权限等一 系统环境准备虚拟机软件 VMwareWorkst 操作系统 NeoKylin Linux Desktop 6 0 x86 64 iso 达梦数据库 dm7 setup rh6 64 ent 7 6 0 142 iso 工具 Xmanager 安装虚拟机操作系统这里就不展示了 网上随便一抓一大把 话

    2026年3月26日
    3
  • webpack配置vue3项目

    webpack配置vue3项目用 webpack 搭建 Vue3 项目一 项目需要的基本依赖 1 vue 的依赖 2 ui 组件库依赖 3 AJAX 请求库依赖 axios 二 几个 loader 和 webpack 配置 1 引入库 2 目录结构三 main js 入口文件与 index html1 main js2 index html 四 webpack 配置文件五 路由文件总结声明 本文章采用 node 的包管理工具和 webpack 一 项目需要的基本依赖 1 vue 的依赖声明一点 自从 22 年 3 月依赖 vue 的默认版本就变成了 3 x 所有后面需要 指定版本 n

    2026年3月18日
    2
  • 【最苦逼的不是你,有人比你更苦逼】

    【最苦逼的不是你,有人比你更苦逼】你又在论坛上开了一个长贴,标题写着:“我的婆婆哟,真是个极品!”   你婆婆过春节又来你家住着了,不仅他们老两口,还带着七大姑八大姨,一住就是一个月,简直占领了你的小家。他们的生活习惯完全和你不一样,你感到没有隐私……但你不能抱怨,你得表现得想个得体的主妇,你不能让你的老公感到不愉快,那是他最亲的家人。   于是,和他们生活的日子里,天天跟自己生气,躲在角落里发脾气。有一天,你实在

    2022年5月4日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号