GUI库:PyQt5

部署运行你感兴趣的模型镜像

1.PyQt5简介

PyQt是基于QT的Python封装,标准的QT开发使用的是C++语言,开发效率比较低,而使用Python语言进行封装后,开发效率也大大提升。并且还可以进行可视化的开发。
PyQt是英国的Riverbank Computing公司开发的一套封装QT程序库的Python GUI库。
PyQt5有两种版本:GPL(开源)和商业授权。

PyQt5的模块
1. QtCore:包含了核心的非GUI功能。
2. QtGui:包含了窗口系统、事件处理、2D图像等。
3. QtWidgets:包含了一系列创建桌面应用的UI元素

2.安装PyQt5

在使用PyQt5开发GUI程序之前,首先要安装PyQt5。包括PyQt5的运行环境,以及用于可视化开发的QTDesigner,用于将 .ui文件转化为Python代码的PyUIC.

2.1 PyQt5开发环境搭建

方法一:下载PyQt5的源代码:
https://www.riverbankcomputing.com/software/pyqt/download5
下载完之后,按说明配置和编译PyQt5的源代码:
;(不推荐)
方法二:

pip install pyqt5

pip unstall pyqt5

安装完成后,运行Python命令,进入Python的REPL环境,输入import PyQt5,按Enter键后,如果没有抛出异常,说明PyQt5已经安装成功。

2.2 配置QTDesigner(可视化开发)

QTDesigner是用于可视化开发的工具,在QT安装包中。在使用QTDesigner之前,先要安装QT
方法一:下载QT的在线安装版本(请选择开源版本)
https://www.qt.io/download
方法二:下载QT的离线安装包,请选择相应的操作系统版本
https://download.qt.io/archive/qt
如果使用的是Anaconda Python开发环境,不需要安装QT,因为Anaconda中已经集成了QTDesigner。
1.苹果系统版本的Anaconda,QTDesigner路径:<Anaconda根目录>/bin/Designer.app
2.windows:<Anaconda根目录>\Library\bin\designer.exe
得到QTDesigner–>选择Python IDE,将QTDesigner与Python IDE关联,也就是在Python IDE中调用QTDesigner。
将QTDesigner添加到pycharm的扩展工具中。
步骤:
pycharm–> File–> Settings–> Tools–> External Tools(在右侧会显示当前所有的扩展工具,默认是空)–> 单击加号(+)按钮添加一个扩展工具–> 弹出Create Tool。
在这里插入图片描述
Working directory–designer.exe工作路径,设置为 $ProjectFileDir$

完成以上工作后,关闭Create Tool对话框以及 Preference窗口,看到Pycharm–>Tools–>External Tools–>QTDesigner–>单击(启动)。
在这里插入图片描述
1.第一次启动QTDesigner–>询问要建立哪种类型的窗口(这里选择Main Window)–>单击“创建”按钮。
新建窗口后,会出现一个空的窗口。
在这里插入图片描述
2.在窗口的左侧出现一个 “窗口部件盒” 窗口,如下图所示:
在这里插入图片描述
3.从 “窗口部件盒” 上可以拖动相应的控件到上面创建的空的窗口上,拖动效果如下图所示:
在这里插入图片描述
4.按Ctrl+S(windows)或者Command+S(Mac OS X)键保存窗口 -->会将窗口保存成一个扩展名为 “ .ui ”的文件,这是窗口布局文件。
建议:先用Pycharm建立一个Python工程,然后将.ui文件放到工程目录,这样使用起来更方便

2.3 配置PyUIC(命令行工具)

将设计好的窗口保存成.ui 的文件,但是这个.ui 文件并不能被Python直接使用,需要用工具将这个.ui文件转换为Python源代码文件(.py文件),这个工具就是PyUIC。
在pycharm上配置PyUIC与配置QTDesigner类似,
在这里插入图片描述
方法一:

name----PyUIC

Program:/Users/lining/ancounda/bin/python.exe

Arguments:$FileName$ -o $FileNameWithoutExtension$.py

Working dirctory:  $FileDir$

方法二:
PyQt的安装目录的bin子目录有一个pyuic5命令,直接执行这个命令也可以将.ui文件转换为.py文件。

name----PyUIC

Program:PyUIC位于当前解析器的Scripts\pyuic5.exe

Arguments:$FileName$ -o $FileNameWithoutExtension$.py

Working dirctory:  $FileDir$

不管使用那种配置,在External Tools菜单项中都会多出一个PyUIC子菜单项。
假设保存的.ui文件名为main.ui。
1.在工程目录中选中该文件
2.右击弹出的快捷菜单中选择External Tools–>MyUIC菜单栏(就会在当前目录生成一个main.py文件,打开该文件全是Python代码,这些代码是从XML格式的main.ui文件转换为Python语言格式的,转化后的目标代码是使用Python代码动态创建main.ui上的控件。)转换后的Python工程目录结构如图所示:
在这里插入图片描述
main.py文件中只包含了一个名为Ui_MainWindow的类,在这个类的setupUi方法中创建了所有的控件,不过这个类还不能直接运行,需要在Test.py文件中输入如下代码才能启动程序。

# QApplication,QMainWindow这两个类都在PyQt5.QtWidgets模块中
import sys
import main.py
from PyQt5.QtWidgets import  QApplication,QMainWindow

if __name__ == "__main__":
    app = QApplication(sys.argv)  #QApplication类的实例相当于整个应用程序 
    MainWindow = QMainWindow()
    ui = main.Ui_MainWindow()

    ui.setupUi(MainWindow)   # 调用setupUi方法动态创建控件
    MainWindow.show()        # 显示窗口
    sys.exit(app.exec_())    # 当窗口关闭后会退出程序

现在选中Test.py文件,运行,会显示窗口。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

在C语言里,位左对齐右对齐一般在格式化输出时会用到,主要用于控制数据在输出时的位置。以下是相关介绍: ### 整型数据的左对齐右对齐 通过`printf`函数实现整型数据的左对齐右对齐右对齐是默认方式,在格式说明符`%`和`d`之间添加数字来规定输出宽度,若数字位数小于规定宽度,会在左边补空格;左对齐则需在数字前加`-`号,若数字位数小于规定宽度,会在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐。数字宽度为10,若不足10,在左边补足空格 printf("%10d\n", 1234); // 左对齐。数字宽度为10,若不足10,在右边补足空格 printf("%-10d\n", 1234); return 0; } ``` ### 不同输出长度的情况 当规定的输出宽度和数字实际位数不同时,有不同的处理方式。若规定宽度小于数字实际位数,会完整输出数字;若规定宽度大于数字实际位数,右对齐在左边补空格,左对齐在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // -5是左对齐,输出长度为5。5是右对齐,输出长度为5 printf("%-5d %5d\n", 455, 455); printf("%-5d %5d\n", -123, -123); // 规定宽度小于实际位数,完整输出数字 printf("%-5d %5d\n", 987654, 987654); return 0; } ``` ### 其他数据类型的对齐 除整型外,其他数据类型也能实现左对齐右对齐。例如浮点数(`%f`)、字符串(`%s`)等,方法和整型一致。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐浮点数,宽度为10 printf("%10f\n", 3.14); // 左对齐浮点数,宽度为10 printf("%-10f\n", 3.14); // 右对齐字符串,宽度为10 printf("%10s\n", "hello"); // 左对齐字符串,宽度为10 printf("%-10s\n", "hello"); return 0; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值