当前位置: 首页 > news >正文

PyQt基础——简单的窗口化界面搭建以及槽函数跳转

一、代码实现

import sys

from PyQt6.QtGui import QPixmap
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QLineEdit, QMessageBox
from PyQt6.uic import loadUi
from PyQt6.QtCore import Qt


class 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, QVBoxLayout
        self.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:

相关文章:

  • 在 LaTeX 中强制表格位于页面顶部
  • CCF-CSP第34次认证第四题——货物调度【DP+剪枝】
  • 红黑树介绍
  • Matplotlib高阶技术全景解析
  • 《阿里云Data+AI:开启数据智能新时代》电子书上线啦!
  • 操作系统学不会?————一文速通(FCFS,SJF/SPF,SRTN,HRRN算法)保姆级解析
  • 4.数据存储**
  • Attention又升级!Moonshot | 提出MoE注意力架构:MoBA,提升LLM长文本推理效率
  • Python爬虫实战:基于 Scrapy 框架的腾讯视频数据采集研究
  • 蓝桥-数字接龙
  • 事业单位ABCDE类
  • qwen2.5-vl使用vllm部署gradio页面调用
  • 网络安全防护总体架构 网络安全防护工作机制
  • TC IT 技术图标
  • 深入理解与应用 JavaScript 中的回调函数
  • 前端UI编程基础知识:Flex弹性布局
  • ICMP、UDP以及IP、ARP报文包的仲裁处理
  • css动画实现铃铛效果
  • springboot EasyExcel 实现导入导出
  • 麒麟系统如何安装Anaconda
  • 企业网站建设及维护/微商软文推广平台
  • 做网站电话/网站域名综合查询
  • 做招聘的网站/360排名优化工具
  • 怎样下一本wordpress/免费的关键词优化工具
  • 个人网站建设的计划书/网站页面布局和样式设计
  • 鞍山网站制作推广/网站百度推广