一、代碼實現
import sysfrom PyQt6.QtGui import QPixmap
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QLineEdit, QMessageBox
from PyQt6.uic import loadUi
from PyQt6.QtCore import Qtclass LoginWindow(QWidget):def __init__(self):super().__init__()# 加載UI文件loadUi('QQ登錄.ui', self)self.label = self.findChild(QLabel,'label')self.label.setPixmap(QPixmap("qq.png"))self.label.setScaledContents(True)self.lineEdit = self.findChild(QLineEdit,'lineEdit')self.lineEdit.setPlaceholderText("輸入QQ號")self.lineEdit_2 = self.findChild(QLineEdit,'lineEdit_2')self.lineEdit_2.setPlaceholderText("輸入密碼")self.lineEdit_2.setEchoMode(QLineEdit.EchoMode.Password)# 找到登錄按鈕并連接點擊事件self.login_button = self.findChild(QPushButton,'pushButton') # 這里的'loginButton'需要替換為你UI文件中登錄按鈕的實際對象名if self.login_button:self.login_button.clicked.connect(self.on_login)def on_login(self):username = self.lineEdit.text()password = self.lineEdit_2.text()if username == "admin" and password == "123456":self.close() # 隱藏登錄界面self.hello_window = HelloWindow()self.hello_window.show()else:QMessageBox.warning(self,"登錄失敗","用戶名或密碼錯誤,請重新輸入。")self.lineEdit.clear()self.lineEdit_2.clear()class HelloWindow(QWidget):def __init__(self):super().__init__()loadUi('Hello.ui', self)def initUI(self):# 創建一個簡單的 Hello 標簽from PyQt6.QtWidgets import QLabel, QVBoxLayoutself.hello_label = QLabel('Hello')# 布局管理layout = QVBoxLayout()layout.addWidget(self.hello_label)self.setLayout(layout)self.setWindowTitle('Hello')if __name__ == '__main__':app = QApplication(sys.argv)login_window = LoginWindow()login_window.setWindowFlag(Qt.WindowType.FramelessWindowHint)login_window.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)login_window.show()sys.exit(app.exec())
二、ui界面
QQ登錄.ui:
Hello.ui: