安装过程页面设计
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_())
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】