赞
踩
1、打开QTdesigner,新建默认工程,简单的拖放按钮和文本控件,设置按钮文本为开始预测。
2、保存到目录,生成ui文件(untitled.ui)。
3、ui文件转换成python文件
from PyQt5 import QtCore, QtGui, QtWidgets class Ui_widget(object): def setupUi(self, widget): widget.setObjectName("widget") widget.resize(741, 637) self.textEdit1 = QtWidgets.QTextEdit(widget) self.textEdit1.setGeometry(QtCore.QRect(80, 110, 271, 40)) self.textEdit1.setReadOnly(True) self.textEdit1.setObjectName("textEdit1") self.textEdit1_2 = QtWidgets.QTextEdit(widget) self.textEdit1_2.setGeometry(QtCore.QRect(80, 320, 271, 271)) self.textEdit1_2.setObjectName("textEdit1_2") self.pushButton = QtWidgets.QPushButton(widget) self.pushButton.setGeometry(QtCore.QRect(80, 290, 271, 31)) self.pushButton.setObjectName("pushButton") self.textEdit1_3 = QtWidgets.QTextEdit(widget) self.textEdit1_3.setGeometry(QtCore.QRect(350, 320, 61, 271)) self.textEdit1_3.setObjectName("textEdit1_3") self.retranslateUi(widget) self.pushButton.clicked.connect(widget.P0ushBtBack) # type: ignore QtCore.QMetaObject.connectSlotsByName(widget) def retranslateUi(self, widget): _translate = QtCore.QCoreApplication.translate widget.setWindowTitle(_translate("widget", "双色球")) self.pushButton.setText(_translate("widget", "开始预测")) # 实现push_button_click()函数,textEdit是我们放上去的文本框的id def P0ushBtBack(self): self.textEdit1.setText("我点击了按钮,显示框显示出文字") if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) widget = QtWidgets.QWidget() ui = Ui_widget() ui.setupUi(widget) widget.show() sys.exit(app.exec_())
1、简单逻辑: 点击按钮->下方界面弹出预测结果
增加main.py用来编写逻辑,与上面生成的aaa.py保持同一个目录。
重写P0ushBtBack函数,增加点击后生成彩票数据的逻辑,完整代码如下:
import sys from PyQt5 import QtWidgets from aaa import Ui_widget import random list = [] #存放蓝球 dst_list1 = [] dst_list2 = [] dst_list3 = [] dst_list4 = [] dst_list5 = [] class MyPyQT_Form(QtWidgets.QMainWindow,Ui_widget): def __init__(self): super(MyPyQT_Form, self).__init__() self.setupUi(self) self.textEdit1.setText("福彩双色球预测") # 实现push_button_click()函数,textEdit是我们放上去的文本框的id def P0ushBtBack(self): #存放红球 dst_one_list = [] #随机数生成 dst_list1= random.sample(list, 6) dst_list2 = random.sample(list, 6) dst_list3 = random.sample(list, 6) dst_list4 = random.sample(list, 6) dst_list5 = random.sample(list, 6) #排序 dst_list1.sort() dst_list2.sort() dst_list3.sort() dst_list4.sort() dst_list5.sort() print(dst_list1) #简单拼接数据 str1 = str(dst_list1[0])+ " "+str(dst_list1[1])+ " " +str(dst_list1[2])+ " "+str(dst_list1[3])+ " "+str(dst_list1[4])+ " "+str(dst_list1[5])+ " \n" \ + str(dst_list2[0])+ " "+str(dst_list2[1])+ " " +str(dst_list2[2])+ " "+str(dst_list2[3])+ " "+str(dst_list2[4])+ " "+str(dst_list2[5])+ " \n" \ + str(dst_list3[0])+ " "+str(dst_list3[1])+ " " +str(dst_list3[2])+ " "+str(dst_list3[3])+ " "+str(dst_list3[4])+ " "+str(dst_list3[5])+ " \n" \ + str(dst_list4[0])+ " "+str(dst_list4[1])+ " " +str(dst_list4[2])+ " "+str(dst_list4[3])+ " "+str(dst_list4[4])+ " "+str(dst_list4[5])+ " \n" \ + str(dst_list5[0])+ " "+str(dst_list5[1])+ " " +str(dst_list5[2])+ " "+str(dst_list5[3])+ " "+str(dst_list5[4])+ " "+str(dst_list5[5])+ " \n" print(str1) for i in range(0,5): dst_one_list.append( random.randrange(1, 16)) print(dst_one_list) str2 = str(dst_one_list[0]) + "\n" + str(dst_one_list[1]) + "\n" + str(dst_one_list[2]) + "\n" + str(dst_one_list[3]) + "\n" + str(dst_one_list[4]) + "\n" #设置文本框的显示内容 self.textEdit1_2.setText(str1) self.textEdit1_3.setText(str2) if __name__ == '__main__': #生成蓝球号池 1-32 for i in range(1,32): list.append(i) print(list) app = QtWidgets.QApplication(sys.argv) my_pyqt_form = MyPyQT_Form() my_pyqt_form.show() sys.exit(app.exec_())
2、打包生成可执行文件
使用pyinstaller 指令编译生成exe文件
pyinstaller -F -w .\main.py
-F:仅仅生成一个文件,不暴露其他信息,启动较慢。
-D:生成一个文件夹,里面是多文件模式,启动快。
-w:窗口模式打包,不显示控制台。
-c:跟图标路径,作为应用icon
采用一个文件和不现实控制台方式进行打包,生成文件在dist目录下。
点击按钮,生成5组双色球数字。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。