安装程序设计2
1.目录安装页面设计

其中文本和背景图片laber控件,目录展示为TextEdit控件,选择路径按钮为按钮
2.设置信号/槽
showdir() -- 选择路径
tonext() -- 下个页面
tolast() -- 上个页面
最后一个取消的需要到py中设置
3.程序代码展示
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'mian2.ui' # # Created by: PyQt5 UI code generator 5.15.4 # # 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. import os import sys from tkinter.filedialog import askopenfilename from PyQt5 import QtCore, QtGui, QtWidgets from ui import tools class Ui_mainWindow2(object): def setupUi(self, mainWindow2): mainWindow2.setObjectName("mainWindow2") mainWindow2.resize(807, 505) self.centralwidget = QtWidgets.QWidget(mainWindow2) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(-10, 0, 811, 611)) self.label.setText("") self.label.setPixmap(QtGui.QPixmap("C:/Users/ASUS/Pictures/壁纸测试/b3.jpg")) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(280, 50, 271, 61)) font = QtGui.QFont() font.setPointSize(16) font.setBold(True) font.setItalic(False) font.setUnderline(True) font.setWeight(75) font.setStrikeOut(False) self.label_2.setFont(font) self.label_2.setTextFormat(QtCore.Qt.AutoText) self.label_2.setObjectName("label_2") self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setGeometry(QtCore.QRect(0, 0, 261, 461)) self.label_4.setText("") self.label_4.setPixmap(QtGui.QPixmap("C:/Users/ASUS/Pictures/壁纸测试/login1.jpg")) self.label_4.setObjectName("label_4") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(520, 450, 93, 28)) self.pushButton.setObjectName("pushButton") self.pushButton.setDisabled(True) self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(650, 450, 93, 28)) self.pushButton_2.setObjectName("pushButton_2") self.textEdit = QtWidgets.QTextEdit(self.centralwidget) self.textEdit.setGeometry(QtCore.QRect(280, 120, 371, 31)) self.textEdit.setObjectName("textEdit") self.toolButton = QtWidgets.QToolButton(self.centralwidget) self.toolButton.setGeometry(QtCore.QRect(680, 120, 71, 31)) self.toolButton.setMouseTracking(False) self.toolButton.setTabletTracking(False) self.toolButton.setObjectName("toolButton") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(290, 170, 161, 16)) self.label_3.setObjectName("label_3") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(290, 200, 141, 16)) self.label_5.setObjectName("label_5") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(460, 170, 81, 16)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(430, 200, 71, 16)) self.label_7.setObjectName("label_7") self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_3.setGeometry(QtCore.QRect(390, 450, 93, 28)) self.pushButton_3.setObjectName("pushButton_3") mainWindow2.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(mainWindow2) self.statusbar.setObjectName("statusbar") mainWindow2.setStatusBar(self.statusbar) self.retranslateUi(mainWindow2) self.toolButton.clicked.connect(self.showdir) self.pushButton.clicked.connect(self.tonext) self.pushButton_3.clicked.connect(self.tolast) self.pushButton_2.clicked.connect(mainWindow2.close) //关闭程序 QtCore.QMetaObject.connectSlotsByName(mainWindow2) def retranslateUi(self, mainWindow2): _translate = QtCore.QCoreApplication.translate mainWindow2.setWindowTitle(_translate("mainWindow2", "MainWindow")) self.label_2.setText(_translate("mainWindow2", "请选择安装路径")) self.pushButton.setText(_translate("mainWindow2", "安装")) self.pushButton_2.setText(_translate("mainWindow2", "取消")) self.toolButton.setText(_translate("mainWindow2", "选择路径")) self.label_3.setText(_translate("mainWindow2", "所选目录剩余内存大小:")) self.label_5.setText(_translate("mainWindow2", "程序所需内存大小:")) self.label_6.setText(_translate("mainWindow2", "0.0M")) self.label_7.setText(_translate("mainWindow2", "0.0M")) self.pushButton_3.setText(_translate("mainWindow2", "上一步")) if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) ui = Ui_mainWindow2() my = QtWidgets.QMainWindow() ui.setupUi(my) my.show() sys.exit(app.exec_())
import json import os import sys from tkinter import * # from tkFileDialog import from tkinter.filedialog import askdirectory import showui3 import showuiend from ui import tools from ui.mian2 import Ui_mainWindow2 from ui.mian2 import Ui_mainWindow2 from ui.mian3 import Ui_mainWindow3 from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QFileDialog, QMessageBox from PyQt5 import QtWidgets class mian2(Ui_mainWindow2, QMainWindow): def __init__(self): super(Ui_mainWindow2, self).__init__() self.setupUi(self) def showdir(self): file_sql = askdirectory() print(file_sql) if file_sql: statinfo = os.stat(file_sql) self.textEdit.setText(file_sql+"/Table_hung") self.label_7.setText(str(statinfo.st_size)+"m") self.label_6.setText(str(int(tools.getLocalSpace(file_sql[0:1])))+"G") mk = tools.mkdir("C:\ProgramData\Table_hung") print(file_sql+"/Table_hung/") data = [] data2 = {} data2['base_path']=file_sql+"/Table_hung/" data.append(data2) tools.text_create("C:\ProgramData\Table_hung\\",'base',"",'.json') result = json.dumps(data, sort_keys=True, indent=2) with open('C:\ProgramData\Table_hung\\base.json', 'w', encoding='utf-8') as file: for i in result: file.write(i) print('数据已写入json文件...') if mk : if tools.getLocalSpace(file_sql[0:1])*1024 >= statinfo.st_size: self.pushButton.setDisabled(False) else: self.label_7.setText(str(statinfo.st_size)+"m(不足)") def tonext(self): self.main3=showui3.mian3() self.close() self.main3.show() def tolast(self): self.main1=showuiend.FirstWindowActions() self.close() self.main1.show() if __name__ == '__main__': app = QApplication(sys.argv) # 显示创建的界面 demo_window = mian2() demo_window.show() sys.exit(app.exec_())

浙公网安备 33010602011771号