pyqt5 登录界面界面的设计(多窗口的设计)

首先用qtdesigner设计界面(一律选择widget)
如何配置Pyqt5参考从零开始 使用PyQt5
在这里插入图片描述

拖动按钮、label等控件创建创建窗口:
在这里插入图片描述
Ctrl+s 保存为.ui文件
在这里插入图片描述
点击文件右击选择PyUIC再转换为.py文件
在这里插入图片描述
添加程序入口

import sys

# 主方法,程序从此处启动PyQt设计的窗体
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()  # 创建窗体对象
    ui = Ui_Form()  # 创建PyQt设计的窗体对象
    ui.setupUi(MainWindow)  # 调用PyQt窗体的方法对窗体对象进行初始化设置
    MainWindow.show()  # 显示窗体
    sys.exit(app.exec_())  # 程序关闭时退出进程

运行结果如图所示
在这里插入图片描述
主要要理解和自己设置的代码

        self.pushButton_2.clicked.connect(Form.close)
        # self.lineEdit_2.setValidator(QtGui.QIntValidator(10000000, 99999999))  # 设置输入密码行8位输入方式1
        self.lineEdit_2.setValidator(QtGui.QRegExpValidator(QtCore.QRegExp('^\d{8}')))  # 设置输入密码行8位输入方式2
        self.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)  # 设置隐藏密码输入
        self.pushButton.setIcon(QIcon(QPixmap('login.ico')))  # 设置登录按钮显示图标
        self.pushButton.clicked.connect(self.login)  # 绑定登录函数
        self.pushButton.setShortcut('ctrl+d')  # 设置登录快捷键
        self.pushButton_2.setShortcut('Ctrl+q')  # 设置退出快捷键
        self.pushButton_2.setIcon(QIcon(QPixmap('exit.ico')))  # 设置退出图标
        # 设置系统左上角运行图标
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap('apple.ico'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def login(self):
        print('进入登录函数')
        from PyQt5.QtWidgets import QMessageBox
        # 使用information()方法弹出消息提示框
        QMessageBox.information(MainWindow, '登录消息', '用户名: ' + self.lineEdit.text() + ' 密码: '
                                + self.lineEdit_2.text(), QMessageBox.Ok)

全部代码

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file '系统登录.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# 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.Qt import *
from PyQt5.QtGui import QPixmap, QIcon


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(340, 230)
        self.label = QtWidgets.QLabel(Form)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.label.
  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是两种PyQt5界面设计多窗口的例子: 1. 使用Tab Widget实现多页面切换: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QWidget, QVBoxLayout class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Tab Widget Example") # 创建Tab Widget self.tab_widget = QTabWidget() # 创建页面1 page1 = QWidget() layout1 = QVBoxLayout() layout1.addWidget(QLabel("Page 1")) page1.setLayout(layout1) # 创建页面2 page2 = QWidget() layout2 = QVBoxLayout() layout2.addWidget(QLabel("Page 2")) page2.setLayout(layout2) # 将页面添加到Tab Widget中 self.tab_widget.addTab(page1, "Page 1") self.tab_widget.addTab(page2, "Page 2") # 设置Tab Widget为主窗口的中心部件 self.setCentralWidget(self.tab_widget) if __name__ == "__main__": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 2. 使用Stacked Widget实现多页面切换: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QStackedWidget, QWidget, QVBoxLayout class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Stacked Widget Example") # 创建Stacked Widget self.stacked_widget = QStackedWidget() # 创建页面1 page1 = QWidget() layout1 = QVBoxLayout() layout1.addWidget(QLabel("Page 1")) page1.setLayout(layout1) # 创建页面2 page2 = QWidget() layout2 = QVBoxLayout() layout2.addWidget(QLabel("Page 2")) page2.setLayout(layout2) # 将页面添加到Stacked Widget中 self.stacked_widget.addWidget(page1) self.stacked_widget.addWidget(page2) # 设置Stacked Widget为主窗口的中心部件 self.setCentralWidget(self.stacked_widget) if __name__ == "__main__": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值