安装程序设计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_())

 

posted @ 2022-01-21 23:25  韦德·沃兹  阅读(49)  评论(0)    收藏  举报