pyQt界面制作(登录+跳转页面)

这篇具有很好参考价值的文章主要介绍了pyQt界面制作(登录+跳转页面)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

4.1制作登录界面

首先打开Qt-Designer,选择Widget,它和Main Window的区别在于:Main Window有工具栏菜单栏状态栏等,而Widget就适合做个简单的登录界面。如下图:

pyqt登录界面,笔记,pyqt,ui,qt

 文章来源地址https://www.toymoban.com/news/detail-818110.html

首先如下列图,在这里可以设置标题为登录,然后插入一个logo图片,也可以给字体标题设置大小样式等。

pyqt登录界面,笔记,pyqt,ui,qtpyqt登录界面,笔记,pyqt,ui,qtpyqt登录界面,笔记,pyqt,ui,qt

接下来输入框都是用Line Edit,登录按钮是Push Button。设置登录界面大小固定,禁止随意缩放,将其最大窗口和最小窗口都设为长380,宽300。

pyqt登录界面,笔记,pyqt,ui,qtpyqt登录界面,笔记,pyqt,ui,qt

密码设置为password形式,其密码设置为1234,点击登录按钮可以进入主界面。

4.2制作主界面

接下来再新建,选择Main Window,Main Window有工具栏菜单栏状态栏等,适合做主界面。如下图:

pyqt登录界面,笔记,pyqt,ui,qt

 

其中点击绘图按钮,可以出图,点击取消则返回上一页(登录页),如下代码部分是对中间绘图区域的样式设置:

self.label_3.setObjectName("label_3")
self.label_3.setFrameShape(QtWidgets.QFrame.Box)
# 设置阴影 据说只有加了这步才能设置边框颜色。///可选样式有RaisedSunkenPlain(这个无法设置颜色)等
self.label_3.setFrameShadow(QtWidgets.QFrame.Raised)
# 设置背景颜色,包括边框颜色
# self.label.setStyleSheet()
self.label_3.setFrameShape(QFrame.Box)
# 设置边框样式
# 设置背景填充颜色'background-color: rgb(0, 0, 0)'
# 设置边框颜色border-color: rgb(255, 170, 0);
self.label_3.setStyleSheet( 'border-width: 1px;border-style: solid;border-color: rgb(255, 170, 0);background-color: rgb(100, 149, 237);')

4.3 pyqt界面代码实现

界面开发完成后,将.ui文件转换为.py文件。将login.ui和main.ui转换成login.py文件和main.py。放置好控件之后,保存会是以ui文件的形式。这时候需要使用PyUIC工具来将其转化为Py文件才能在Pycharm中打开。打开转化完成的Python文件,可以看到整个界面是以一个类的形式编写的,这时候是不能直接运行的。因为现在只是一个类,我们需要将其进行实例化。

如何显示我们创建好的GUi程序,我们需要QtWidgets.QMainWindow()中的show()函数来显示界面。这里一般有三种写法。

第一种是直接实例化一个QtWidgets.QMainWindow()类,然后使用show()函数。

第二种是创建一个新的类,同时继承QtWidgets.QMainWindow()和UI_MainWindow()两个类,这样这个新的类就会同时拥有两个类的方法。

第三种是让UI_MainWindow()继承QtWidgets.QMainWindow(),并且i重写其中的def init()方法。

本设计设计界面与业务逻辑分离实现

这一步主要实现业务逻辑,也就是点击登录和退出按钮后程序要执行的操作。为了后续维护方便,采用界面与业务逻辑相分离来实现。也就是通过创建主程序调用界面文件方式实现。这有2个好处。第1就是实现逻辑清晰。第2就是后续如果界面或者逻辑需要变更,好维护。新建index.py文件程序,调用login.py文件和main.pyindex.py文件代码如下:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
# 导入login.py、main.py里面全部内容
import login
import main
from PyQt5.QtCore import Qt
class Win_Login:
    def __init__(self):
        self.ui = QUiLoader().load(login.ui)
class main(main.Ui_MainWindow, QMainWindow):
    def __init__(self):
        super(main, self).__init__()
        self.setupUi(self)  # 初始化
        self.pushButton_1.clicked.connect(self.display)
    def display(self):
        self.label_3.resize(400, 300)  # 重设Label大小
        self.label_3.setScaledContents(True)  # 设置图片自适应窗口大小
        self.label_3.setPixmap(QtGui.QPixmap("CO2.png"))
  class login(login.Ui_Form, QMainWindow):
    def __init__(self):
        super(login, self).__init__()
        self.setupUi(self)
if __name__ == '__main__':
    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)  # 支持高分屏自动缩放
    app = QApplication(sys.argv)
    # 为main_window类和login_window类创建对象
    main_window = main()
    login_window = login()
    # 显示登陆窗口
    login_window.show()
    # 将显示main_window与单击登录页面按钮绑定
    login_window.btn_login.clicked.connect(main_window.show)
    main_window.pushButton_2.clicked.connect(main_window.close)
    # 关闭程序,释放资源
    sys.exit(app.exec_())

问题补充:

(1)但是此时又遇到问题,设计的界面大小和pycharm运行后的显示窗口大小不一致,见下图,查了资料发现是分辨率问题,所以需要在显示窗口函数加一句话:

QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)

#支持高分屏自动缩放。

pyqt登录界面,笔记,pyqt,ui,qt

 

2这里调用爆红了,为什么呢?是因为它没把这个目录当成模块的目录,可以设置将此目录生成源代码目录。

pyqt登录界面,笔记,pyqt,ui,qtpyqt登录界面,笔记,pyqt,ui,qt 

4.4 最终实现的功能界面样式

pyqt登录界面,笔记,pyqt,ui,qtpyqt登录界面,笔记,pyqt,ui,qt

 

 

到了这里,关于pyQt界面制作(登录+跳转页面)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于pyqt5开发的图书管理系统UI(带登录页面)

    由于老师布置了关于图书馆UI界面的开发任务,因此做了这个UI界面,因为老师说用C#开发,而自己也不会,使用就pyqt去实现,希望这个UI界面对各位小伙伴有些帮助。UI主要是使用的designer去设计的,然后进行了界面的美化,对于里面的功能目前也只做了天气的,但是因为这个

    2024年02月12日
    浏览(39)
  • PyQt5利用Qt Designer制作一个可以拖动获取文件信息的页面

    前言 本篇在讲什么 用pyqt5制作一个简单的程序,拖动文件或脚本可以读取文件信息 本篇适合什么 适合 初学PyQt5 的小白 本篇需要什么 对 Python 语法有简单认知 对 Qt 有简单认知 依赖 Pycharm 编辑器 本篇的特色 具有全流程的 图文教学 重实践,轻理论,快速上手 提供全流程的

    2024年01月15日
    浏览(67)
  • PyQt6 使用Qt Designer实现简单的界面,以及ui文件转py文件

    前言,主要通过参考并总结两篇文章中的部分内容,参考文章一 参考文章二 新增一个用户注册界面,包含用户名,密码,性别,手机号,点击注册按钮时,弹出一个对话框,提示恭喜 “{用户输入的用户名}” 注册成功。但是无奈还没找出获取最新输入用户名的值,就简单做

    2024年02月04日
    浏览(50)
  • PyQt5学习笔记--加载Qt Designer设计的ui文件

    目录 1--直接加载ui文件 2--动态加载ui文件及其属性 3--绑定槽函数测试 4--登录程序实例练习 ① Qt Designer 下载地址​​​​​ ② 设计ui并保存导出   ③ 直接加载代码 ​ ① 在Qt Designer设计ui文件:   ② 源程序: ③ 结果测试  

    2024年02月10日
    浏览(51)
  • 如何在pycharm里边配置pyqt5、qt5-applications,使用拖拽功能设计UI界面

    安装pyqt5和qt5-applications 网上很多说要安装pyqt5-tools,但是里边并没有找到designer.exe这个文件,最终是在qt5-applications里边的Qt/bin找到了designer.exe文件。 在pycharm中配置designer working directory可以自己手动配置工程目录,也可以直接点击后面的按钮选择$ProjectFileDir$ 在pycharm中配置p

    2024年02月02日
    浏览(49)
  • 界面开发(2)--- 使用PyQt5制作用户登陆界面

    上篇文章已经介绍了如何配置PyQt5环境,这篇文章在此基础上展开,主要记录一下如何使用 PyQt5 制作用户登陆界面,并对一些基础操作进行介绍。 下面是具体步骤,一起来看看吧! 1. 打开 Pycharm 中的 Qt Designer 工具。 2. 选择Main Window模式,创建界面窗口。 3. 移除菜单栏和状态

    2024年02月05日
    浏览(56)
  • 界面开发(3)--- PyQt5用户登录界面连接数据库

    为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中。如果输入的账号和密码与数据库中的一致,那我们就允许用户登录,进入新的界面。 上篇文章介绍了如何使用PyQt5制作用户登录界面,这篇文章在此基础上展开,建立简

    2024年02月05日
    浏览(55)
  • 关于图形界面Pyqt与QT的区别选择

            关于图像界面(GUI)想必大家都并不陌生,想要将一段已经完善的功能列表进行可视化操作并且具有一定的操作空间,将功能可视化必不可少,一个好的可视化工具不仅可以集成一系列小的文件功能,还能将不同方法之间的调用联系起来,形成良好的系统整理功能。

    2023年04月13日
    浏览(82)
  • Python - PyQT5开发UI界面 - 环境搭建

    没有做过UI界面的都会把UI的制作想象的很神秘,我在刚开始的时候也是感觉异常神秘、很复杂、并且无从下手,不过在真正的做出来一个界面后,发现也并没有想象中的那么难,而且做出来可视化的东西所带来的成就感是超越代码本身的;不过整个过程也并不顺利,网上都是

    2023年04月23日
    浏览(49)
  • Pyqt5继承被覆盖的Ui界面类

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、现象描述? 二、使用步骤 1.生成界面类Py文件,获取到生成的Ui界面类 2.新建一个py文件,继承Ui界面类 总结 提示:这里可以添加本文要记录的大概内容: PyQt使用designer每次设计Ui或者

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包