安装过程页面设计

1.页面设计

 

 页面中文本和背景图还是laber,文本框还是TextEdit,进度条控件为progressBar

 

 其中value设置,显示进度条进度

2.设置信号/槽

  showtest() -- 完成进度设置和文本显示进度

  tonext() -- 下一页

  tolast() -- 上一页

 

3.代码

复制代码
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'mian3.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.


from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QBasicTimer

from ui import tools


class Ui_mainWindow3(object):

    def setupUi(self, mainWindow3):
        self.showt = True
        mainWindow3.setObjectName("mainWindow3")
        mainWindow3.resize(800, 510)
        self.centralwidget = QtWidgets.QWidget(mainWindow3)
        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/壁纸测试/login3.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.progressBar = QtWidgets.QProgressBar(self.centralwidget)
        self.progressBar.setEnabled(True)
        self.progressBar.setGeometry(QtCore.QRect(300, 140, 421, 23))
        self.progressBar.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.progressBar.setProperty("value", 50)
        self.progressBar.setObjectName("progressBar")
        self.toolButton = QtWidgets.QToolButton(self.centralwidget)
        self.toolButton.setGeometry(QtCore.QRect(300, 180, 47, 21))
        self.toolButton.setObjectName("toolButton")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(300, 210, 381, 151))
        self.textEdit.setObjectName("textEdit")
        mainWindow3.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(mainWindow3)
        self.statusbar.setObjectName("statusbar")
        mainWindow3.setStatusBar(self.statusbar)

        self.timer = QBasicTimer()  # 创建定时器
        self.step = 0
        self.str=""
        self.timer.start(100,self)
        self.retranslateUi(mainWindow3)
        self.toolButton.clicked.connect(self.showtest)
        self.pushButton.clicked.connect(self.tonext)
        self.pushButton_2.clicked.connect(mainWindow3.close)
        QtCore.QMetaObject.connectSlotsByName(mainWindow3)

    def retranslateUi(self, mainWindow3):
        _translate = QtCore.QCoreApplication.translate
        mainWindow3.setWindowTitle(_translate("mainWindow3", "MainWindow"))
        self.label_2.setText(_translate("mainWindow3", "安装中。。。。"))
        self.pushButton.setText(_translate("mainWindow3", "下一步"))
        self.pushButton_2.setText(_translate("mainWindow3", "取消"))
        self.toolButton.setText(_translate("mainWindow3", ""))

    def timerEvent(self,*args,**kwargs):
        if self.step == 0:
            re=tools.qt_yiyi1()
            if re:
                self.step = 20
                self.progressBar.setValue(self.step)  # 刷新进度条
        if self.step == 20:
            re = tools.qt_yiyi1()
            if re:
                self.step = 40
                self.progressBar.setValue(self.step)  # 刷新进度条

        if self.step>=100:
            self.timer.stop()
            tools.qt_yiyi1()
            self.pushButton.setDisabled(False)
            self.textEdit.setText('完成')

            return

        self.step=self.step+20
        self.str+=str(self.step)+"\n"
        self.textEdit.append(self.str)
        self.progressBar.setValue(self.step)  # 刷新进度条
复制代码
复制代码
import os
import subprocess
import sys
from tkinter.filedialog import askopenfilename

from PyQt5.QtCore import QBasicTimer

import showui2
import showuiend
from ui import tools
from ui.mian3 import Ui_mainWindow3
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QFileDialog, QMessageBox
from PyQt5 import QtWidgets, QtCore
from ui.mian4 import Ui_mainWindow4
from qt_yiyi import Qt_pet

class mian3(Ui_mainWindow3, QMainWindow):

    def __init__(self):

        super(Ui_mainWindow3, self).__init__()

        self.setupUi(self)


    def showtest(self):
        _translate = QtCore.QCoreApplication.translate
        if self.showt:
            self.textEdit.hide()
            self.toolButton.setText(_translate("mainWindow3", ""))
            self.showt = False
        else:
            self.textEdit.show()
            self.toolButton.setText(_translate("mainWindow3", ""))
            self.showt = True

    def tonext(self):
        self.main4=mian4()
        self.close()
        self.main4.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)

    # 显示创建的界面
    demo_window = mian3()

    demo_window.show()

    sys.exit(app.exec_())
复制代码

 

posted @   韦德·沃兹  阅读(79)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示