使用pyqt5来开发图形化工具

前言

这里介绍一些PyQt的基本使用,以及一些常用的组件,以及如何使用Qt Designer设计图形化界面。

一篇文章教会小白写图形化界面工具。

1.PyQt介绍与安装

PyQt的开发者是英国的“Riverbank Computing”公司。它提供了GPL(简单的说,以GPL协议发布到网上的素材,你可以使用,也可以更改,但是经过你更改然后再次发布的素材必须也遵守GPL协议,主要要求是必须开源,而且不能删减原作者的声明信息等)与商业协议两种授权方式,因此它可以免费地用于自由软件的开发。
PyQt是Python语言的GUI(Graphical User Interface,简称 GUI,又称图形用户接口)编程解决方案之一
可以用来代替Python内置的Tkinter。其它替代者还有PyGTK、wxPython等,与Qt一样,PyQt是一个自由软件

安装PyQt5

  1. pip install pyqt5 -i https://mirrors.aliyun.com/pypi/simple/

2.PyQt5使用示例

  1. import sys

  2. from PyQt5.QtWidgets import QApplication, QWidget

  3. if __name__ == '__main__':

  4. app = QApplication(sys.argv)

  5. w = QWidget()

  6. # 设置窗口标题

  7. w.setWindowTitle("第一个PyQt")

  8. # 展示窗口

  9. w.show()

  10. # 程序进行循环等待状态

  11. app.exec()

图片

3.PyQt5组件以及布局

这里的组件和布局比较简单,下面链接介绍比较全面

https://doc.itprojects.cn/0001.zhishi/python.0008.pyqt5rumen/index.html#/README

4.Qt Designer介绍

纯靠代码来编写界面,效率属实是有点底,介绍一个辅助设计图形化的软件 QT Designer。

可以直接拖动组件设计ui界面。

图片

保存后的文件为ui文件

图片

若要加载ui文件,则需要导入 uic 模块 , 它位于PyQt5 中

 
  1. import sys

  2. from PyQt5.QtWidgets import QApplication

  3. from PyQt5 import uic

  4. if __name__ == '__main__':

  5. app = QApplication(sys.argv)

  6. ui = uic.loadUi("./untitled.ui")

  7. # 展示窗口

  8. ui.show()

  9. app.exec()

不过使用.ui去调用就无法和py文件一起打包成exe,这里可以使用pyuic5将ui文件转换成python文件

在cmd中执行

pyuic5 -o .py .ui

pyuic5 -o tishi_ui.py tishi.ui

图片

调用py文件

 
  1. from PyQt5.QtCore import Qt

  2. from .tishi_ui import Ui_Form

  3. from PyQt5.QtWidgets import QWidget

  4. class TiShi(QWidget,Ui_Form):

  5. def __init__(self):

  6. super(TiShi, self).__init__()

  7. self.setupUi(self) # 使用 sjui.Ui_Form 类中的方法初始化 UI

  8. self.setWindowFlags(Qt.WindowCloseButtonHint)

5.Pyqt5项目 Xray-Gui

这项目是通过pyqt5实现的一个Xray的图形界面,方便用户使用。

项目地址: https://github.com/buluorifu/Xray-Gui

构思

图片

文件夹结构

图片

效果图

图片

使用Qt Designer设计界面

1. 打开Qt Designer,并设计好ui界面

图片


 

图片


 

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值