1. 程式人生 > 其它 >python隨機選人程式

python隨機選人程式

技術標籤:pythonpythonqt

今天要復現的是python隨機選人程式
要求:需要帶qt介面,點選執行後,能夠在電腦上顯示那些人被選中
本次設計採用pyqt進行設計
安裝方法
pyqt5與flask安裝
1.python程式碼介面設計原始碼
注意將檔案儲存為untitled.py,其他的也可以,但在驅動程式呼叫時需要注意import的這個檔案的名字

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

# Form implementation generated from reading ui file 'untitled.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 class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow"
) MainWindow.resize(639, 188) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(100, 30, 75, 23)) self.
pushButton.setObjectName("pushButton") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(100, 90, 54, 12)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(190, 90, 381, 16)) self.label_2.setText("") self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(100, 120, 54, 12)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setGeometry(QtCore.QRect(190, 120, 391, 16)) self.label_4.setText("") self.label_4.setObjectName("label_4") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 639, 23)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "隨機選人程式")) self.pushButton.setText(_translate("MainWindow", "點選隨機")) self.label.setText(_translate("MainWindow", "隨機結果:")) self.label_3.setText(_translate("MainWindow", "當前時間:"))

2.python驅動邏輯

import random
from datetime import datetime
import sys
import PyQt5
from PyQt5.QtWidgets import QApplication, QMainWindow
import untitled

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
# from MainWindow import *
from untitled import Ui_MainWindow

values = ['dds1','dds2','dds3','dds4']


class MyMainForm(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyMainForm, self).__init__(parent)

        self.setupUi(self)
        # 新增登入按鈕訊號和槽。注意display函式不加小括號()
        self.pushButton.clicked.connect(self.click_success)

    # 新增退出按鈕訊號和槽。呼叫close函式
    # self.cancel_Button.clicked.connect(self.close)
    # def display(self):
    #
    # # 利用line Edit控制元件物件text()函式獲取介面輸入
    # username = self.user_lineEdit.text()
    # password = self.pwd_lineEdit.text()
    # # 利用text Browser控制元件物件setText()函式設定介面顯示
    # self.user_textBrowser.setText("登入成功!\n" + "使用者名稱是: " + username + ",密碼是: " + password)

    def click_success(self):
        # 隨機選擇N個樣本處理。
        # print("本次隨機結果為:")
        # print(random.sample(values, 6))
        x = str(random.sample(values, 2))
        # print(x)
        self.label_2.setText(x)
        # print("隨機時間:")
        # print(datetime.now())
        self.label_4.setText(str(datetime.now()))
        # 從陣列中隨機選一個元素。
        # print(str(random.choice(values)))
        # 隨機打亂陣列內容。
        # random.shuffle(values)


if __name__ == "__main__":
    # 固定的,PyQt5程式都需要QApplication物件。sys.argv是命令列引數列表,確保程式可以雙擊執行
    app = QApplication(sys.argv)
    # 初始化
    myWin = MyMainForm()
    # 將視窗控制元件顯示在螢幕上
    myWin.show()
    # 程式執行,sys.exit方法確保程式完整退出。
    sys.exit(app.exec_())

3.使用打包工具將程式碼打包成exe檔案

>pip install pyinstaller
>pyinstaller -F main.py
>18680 INFO: Building EXE from EXE-00.toc completed successfully. # 出現這一句就代表打包成功
># 在當前資料夾目錄下的dist資料夾下,有打包好的main.exe,點選執行就可以看見剛才寫的程式了

這裡是已經打包好的程式,執行結果如下
在這裡插入圖片描述