python隨機選人程式
阿新 • • 發佈:2021-01-24
今天要復現的是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,點選執行就可以看見剛才寫的程式了
這裡是已經打包好的程式,執行結果如下