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_())

三、 基类控件

什么是控件?

  • 一个程序界面上的各个独立的标准,一块矩形区域
  • 每类控件都具备不同的功能
  • 同时,有些控件有相似的功能,可以通过继承关系学习

全部评论
感谢大佬分享,学到了
点赞 回复 分享
发布于 2022-05-15 18:48

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务