Python 第三方 PyQt5 库使用PyQt5-tools的依赖包安装和 Qt Designer、PyUIC、PyRcc三个工具的设置以及QT Designer实现拖拽进行可视化UI界面开发

Python 使用QT Designer实现拖拽进行可视化UI界面开发

目录


前言

        使用Python开发图形界面的软件其实并不多,而使用自带Tkiner库又无法满足一些界面开发,本文主要讲解了PyQt5以及使用QT Designer辅助进行模块化拖拽式图形化UI界面开发


提示:以下是本篇文章正文内容,下面案例可供参考

一、PyQt5是什么?

       PyQt的开发者是英国的“Riverbank Computing”公司。它提供了GPL(简单的说,以GPL协议发布到网上的素材,你可以使用,也可以更改,但是经过你更改然后再次发布的素材必须也遵守GPL协议,主要要求是必须开源,而且不能删减原作者的声明信息等)与商业协议两种授权方式,因此它可以免费地用于自由软件的开发。翻译成人话就是免费使用就要开源代码,想要商用就需要付费

        PyQt5:Qt是一个跨平台的 C++图形用户界面库。QT一度被诺基亚拥,后出售给芬兰的软件公司Digia Oyj。PyQt5是基于Digia公司Qt5的Python接口,由一组Python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。在可以运行于多个平台,包括:Unix, Windows, and Mac OS。

        Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整的安装配置PyQt5的所有工具包,主要内容包括PyQt5、PyQt5-tools的依赖包安装和Qt Designer、PyUIC、PyRcc三个工具的设置。简单演示了PyQt5的调用方式及三个工具的使用方法,QT Designer实现拖拽进行可视化UI界面开发

        下面登录框界面为使用python开发的简单登录框案例,本文以此案例为案例讲解

二、PyQt5界面开发需要安装的工具

1.工具安装

安装方法一

在windwos进入CMD使用命令安装(示例):

pip install PyQt5                   

pip install PyQt5-tools

pip install PyQt5Designer 

pip install PyQtWebEngine

pip install PySimpleGUI

pip install PyQt5-sip

pip install PyQt5-stubs

 安装完成后可以使用pip list 命令进行查看是否安装完成和安装的版本号,这些库都安装上后面都会用到

更换pip库源

安装过程中可能会安装不成功可以换一下pip库的源

pip install pip -U

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple



常用的pip源

1. 中科大源(https://pypi.mirrors.ustc.edu.cn/simple/)

   中科大源是中国科学技术大学提供的镜像源,速度快且稳定。

2. 豆瓣源(https://pypi.douban.com/simple/)

   豆瓣源是豆瓣提供的镜像源,速度也比较快。

3. 清华源(https://pypi.tuna.tsinghua.edu.cn/simple/)

   清华源是清华大学提供的镜像源,速度较快。

4. 阿里云源(http://mirrors.aliyun.com/pypi/simple/)

   阿里云源是阿里云提供的镜像源,速度也比较快。

根据需要选择合适的源来更换。

安装方法二

在pycharm里进行安装--->设置--->项目--->python解释器--->点击+号--->搜索需要安装的库

三、工具配置

一、QT Designer

1、设置--->工具--->外部工具--->点击新增

名称:QtDesigner

组:External Tools

描述:Qt设置界面

程序:D:\python3\Lib\site-packages\QtDesigner\designer.exe

实参:无

工作路径:$FileDir$

配置好后点击确定即可在pycharm里启动工具

二、Pyuic

pyuic是将QT Designer绘制出来的UI界面文件转换为py文件

1、设置--->工具--->外部工具--->点击新增

名称:pyuic

组:External Tools

描述:UI界面一键生成代码

程序:D:\python3\Scripts\pyuic5.exe

实参:

$FileName$
-o
$FileNameWithoutExtension$.py

工作路径:$FileDir$

三、PyRcc

pyrcc是将QT Designer添加的图片文件生成的qrc文件转换为py文件

1、设置--->工具--->外部工具--->点击新增

名称:PyRcc

组:External Tools

描述:

程序:D:\python3\Scripts\pyrcc5.exe

实参:

$FileName$
-o
$FileNameWithoutExtension$_rc.py

工作路径:$FileDir$

四、QT Designer的使用

一、启动QT Designer工具

二、创建一个项目

移出菜单栏和底部状态栏

把所需要的的图片导入到资源管理器中

右键TextLabel点击改变样式--->添加资源添加背景图片--->apply--->点击ok就完成了背景添加

调整TextLabel的大小适配背景图片

把按钮输入框文本排版好在右边属性编辑器里编辑各种属性

把密码输入框属性echoMode设置为password这样输入的密码就不是明文了输入的时候就会变成***

修改按钮字体颜色以及按钮背景颜色

给背景图片设置一个圆角

border-radius:8px;

因为使用的是无边框,需要在界面内做一个关闭和缩小的按钮,不然软件运行后无法在软件界面进行缩小和关闭操作,

color: rgb(255, 255, 255);

按钮有背景颜色为了美观把按钮设置为透明无背景

给按钮设置信号/槽,是按钮可以最小化和关闭

关闭窗口

三、将Desiger保存的ui文件转化为py文件

保存文件为login.ui在pycharm中使用Pyuic转化为py文件

 新建一个python文件将逻辑代码复制到文件中

from login import Ui_MainWindow
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
import sys



class MyloginMainForm(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyloginMainForm, self).__init__(parent)
        self.setupUi(self)
        self.setWindowFlags(Qt.FramelessWindowHint)  # 设置无边框属性

if __name__ == '__main__':
    # 自适应分辨率解决窗口错位代码
    from PyQt5 import QtCore
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
    # 每一pyqt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,从命令行输入参数。
    app = QApplication(sys.argv)
    myWin = MyloginMainForm()
    # 显示在屏幕上
    myWin.show()
    sys.exit(app.exec_())



 在文件里引入login文件这样每次修改UI文件就可以实现界面快速调整了

在UI界面文件里引入隐藏边框的代码让界面更加美观

# 隐藏外框代码
MainWindow.setWindowFlags(QtCore.Qt.FramelessWindowHint)
MainWindow.setAttribute(QtCore.Qt.WA_TranslucentBackground)

 此时因为去掉了边框使得界面无法移动做一下小小的改动在类里面添加两个函数

from login import Ui_MainWindow
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
import sys

class MyloginMainForm(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyloginMainForm, self).__init__(parent)
        self.setupUi(self)
        self.setWindowFlags(Qt.FramelessWindowHint)  # 设置无边框属性


    def mousePressEvent(self, event):
        """鼠标移动事件让窗口可移动"""
        if event.buttons() == Qt.LeftButton:
            self.oldPos = event.globalPos()

    def mouseMoveEvent(self, event):
        """
        鼠标移动事件
        """
        if event.buttons() == Qt.LeftButton:
            delta = event.globalPos() - self.oldPos
            self.move(self.x() + delta.x(), self.y() + delta.y())
            self.oldPos = event.globalPos()

if __name__ == '__main__':
    # 自适应分辨率解决窗口错位代码
    from PyQt5 import QtCore
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
    # 每一pyqt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,从命令行输入参数。
    app = QApplication(sys.argv)
    myWin = MyloginMainForm()
    # 显示在屏幕上
    myWin.show()
    sys.exit(app.exec_())

 效果展示

1月30

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 36
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Qt DesignerPyQt5中的一个可视化设计工具,它可以帮助Python开发者快速创建GUI应用程序的用户界面。Qt Designer提供了丰富的控件,可以快速创建常见的GUI组件,如按钮、标签、文本框等,并且可以自定义控件的属性、布局以及信号槽等。下面是Qt Designer的所有详细功能及使用教程。 ## Qt Designer的所有详细功能 ### 1. 控件 Qt Designer提供了丰富的控件括基本控件、布局控件、对话框、菜单栏等。这些控件可以直接拖拽到界面设计器中,并进行属性设置和布局。 ### 2. 属性设置Qt Designer中,可以通过属性编辑器设置控件的属性,如大小、位置、文本、字体、颜色等。同时,还可以设置控件的样式表、信号槽等。属性编辑器界面可以通过点击控件显示出来。 ### 3. 布局管理器 Qt Designer中提供了多种布局管理器,如水平布局、垂直布局、网格布局等。通过布局管理器,可以轻松地调整控件的位置和大小,使得控件在不同分辨率的屏幕上都能适应。同时,还可以设置控件之间的间隔和对齐方式。 ### 4. 信号槽 Qt Designer中提供了信号槽编辑器,可以通过拖拽控件之间的连接线来设置信号和槽。信号是控件发出的事件,如按钮被点击、文本框内容改变等;槽是处理信号的函数,可以在代码中实现。通过信号槽机制,可以实现控件之间的交互。 ### 5. 预览和调试 在Qt Designer中,可以通过预览功能来查看设计的界面效果。同时,还可以通过连接到Python解释器来进行调试,调试过程中可以查看控件的属性和信号槽的连接情况。 ## 使用教程 ### 1. 安装pyqt5-tools 首先需要安装pyqt5-tools,可以通过pip来安装: ``` pip install pyqt5-tools ``` ### 2. 打开Qt Designer 安装完成后,在命令行中输入以下命令打开Qt Designer: ``` designer ``` ### 3. 创建新界面 打开Qt Designer后,可以选择新建一个界面或打开一个已有的界面。新建一个界面可以通过点击“File”->“New”->“Main Window”来创建。 ### 4. 添加控件 在左侧的控件中选择需要添加的控件,然后将其拖拽到界面设计器中。控件的属性可以在右侧的属性编辑器中进行设置。 ### 5. 设置布局 通过选择相应的布局管理器,可以设置控件的布局。布局管理器可以在左侧的控件中找到。此外,还可以通过手动调整控件的位置和大小来进行布局设置。 ### 6. 设置信号槽 在信号槽编辑器中,可以通过拖拽控件之间的连接线来设置信号和槽。信号和槽的设置可以在代码中实现。 ### 7. 预览和调试 在Qt Designer中,可以通过预览功能来查看设计的界面效果。同时,还可以通过连接到Python解释器来进行调试,调试过程中可以查看控件的属性和信号槽的连接情况。 ### 8. 保存界面 完成设计后,可以通过“File”->“Save”来保存界面文件。界面文件的后缀名为.ui,可以在代码中使用pyuic5工具将其转换为Python代码。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值