这个试试?
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QProgressBar, QLineEdit, QLabel, QMessageBox
from PySide6.QtCore import QTimer, Qt
import sys
class WelcomeWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("欢迎")
self.setGeometry(100, 100, 280, 100)
self.progressBar = QProgressBar(self)
self.progressBar.setGeometry(50, 50, 200, 30)
self.initUI()
def initUI(self):
self.timer = QTimer(self)
self.timer.timeout.connect(self.handleProgress)
self.timer.start(100)
self.show()
def handleProgress(self):
currentValue = self.progressBar.value()
if currentValue < 100:
currentValue += 1
self.progressBar.setValue(currentValue)
else:
self.timer.stop()
self.openLoginWindow()
def openLoginWindow(self):
self.loginWindow = LoginWindow(self)
self.loginWindow.show()
class LoginWindow(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.attempts = 0
self.setWindowTitle("登录")
self.setGeometry(100, 100, 280, 100)
layout = QVBoxLayout()
self.label = QLabel("请输入密码:")
self.lineEdit = QLineEdit()
self.loginButton = QPushButton("登录")
self.loginButton.clicked.connect(self.checkPassword)
layout.addWidget(self.label)
layout.addWidget(self.lineEdit)
layout.addWidget(self.loginButton)
centralWidget = QWidget()
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
def checkPassword(self):
password = self.lineEdit.text()
if password == "correct": # 假设"correct"是正确的密码
self.parent().close() # 关闭欢迎窗体
self.close() # 关闭登录窗体
self.mainWindow = MainWindow() # 打开主窗体
self.mainWindow.show()
else:
self.attempts += 1
QMessageBox.warning(self, "错误", "密码错误!")
if self.attempts >= 3:
QApplication.quit()
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("主窗体")
self.setGeometry(100, 100, 400, 300)
layout = QVBoxLayout()
for i in range(12):
button = QPushButton(f"按钮 {i+1}")
layout.addWidget(button)
centralWidget = QWidget()
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
if __name__ == "__main__":
app = QApplication(sys.argv)
welcomeWindow = WelcomeWindow()
sys.exit(app.exec_())
|