Python 中 PyQt5 库语法
PyQt5库(一)
一、 简介
1、 什么是 Qt
使用 C++ 语言编写的跨平台 GUI 库,支持Windows 、MacOS和Linux。由于 Qt 使用C++语言编写,所以使用Qt开发的GUI程序的界面风格与当前操作系统完全相同,而且运行效率很高
2、 什么是PyQt
PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台 ,同时Qt能实现的功能PyQt都能实现
3、 环境搭建
安装 PyQt5
二、 基本结构
1、 第一个程序
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# @author: kun
# @file: Demo.py
# @time: 2022/3/28 9:20
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, qApp
import sys
# 创建一个应用程序
# sys.argv 当别人通过命令行执行这个程序的时候,可以设定一种功能(接收命令行传递的参数)
app = QApplication(sys.argv)
print(app.arguments()) # 得到命令行的参数
print(qApp.arguments()) # qApp为全局变量
# 创建一个窗口
w = QWidget()
# 窗口尺寸
w.resize(300, 150)
# 移动窗口,窗口左上角的坐标
w.move(300, 300)
# 设置窗口的标题
w.setWindowTitle("第一个基于pyqt5的桌面应用")
# 设置标签
label = QLabel(w)
label.setText("hello world")
label.move(150, 75)
# 显示窗口
w.show()
# 进入程序的消息循环,并通过exit函数确保主循环安全结束,相当于无限循环
# 检测整个程序所接收到的用户交互信息
sys.exit(app.exec_()) 2、 控件操作
步骤:
-
创建控件
-
# 设置标签 label = QLabel(contain) 参数:
- contain:代表要在哪个控件(容器)上面展示,可以为空
当我们创建一个控件之后,如果说,这个控件没有父控件,则把它当作顶层控件(窗口)
-
-
设置控件
- 大小,样式,位置,样式等
- 顶层控件有权限去设置窗口内容,结构等
-
展示控件
- 当控件没有父控件时,要使用 show 方法去展示控件
3、 快速生成代码
在pycharm中的活动模板配置如下代码,快速生成代码
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("$test$") # 设置标题
self.resize($500$, $500$) # 设置窗口大小
self.move($300$, $300$) # 移动窗口
self.setup_ui() # 调用创建控件的方法
def setup_ui(self): # 添加控件的操作
pass
if __name__ == '__main__':
# 可以通过导包来运行窗口
import sys
app = QApplication(sys.argv)
# 创建窗口
w = Window()
# 显示窗口
w.show()
sys.exit(app.exec_()) 4、 面向对象
提高代码的可维护性
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# @author: kun
# @file: Demo.py
# @time: 2022/3/28 9:20
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setWindowTitle("Hello") # 设置标题
self.resize(300, 150) # 设置窗口大小
self.move(300, 300) # 移动窗口
self.setup_label() # 调用创建控件的方法
def setup_label(self): # 添加控件的操作
label = QLabel(self)
label.setText("Hello World")
label.move(150, 75)
if __name__ == '__main__':
# 可以通过导包来运行窗口
import sys
app = QApplication(sys.argv)
# 创建窗口
w = Window()
# 显示窗口
w.show()
sys.exit(app.exec_()) 三、 基类控件
什么是控件?
- 一个程序界面上的各个独立的标准,一块矩形区域
- 每类控件都具备不同的功能
- 同时,有些控件有相似的功能,可以通过继承关系学习
顺丰集团工作强度 406人发布