PyQt5-01、认识PyQt5-初识PyQt5-基本代码

1、PyQt5窗体基本代码

学习Pyqt5,先看一下Pyqt5的基本代码,代码内几乎每行我都做了备注。
后面会陆续上传PyQt5相关内容。

__author__ = "wxm"
"""
安装PyQt5:pip install PyQt5
安装遇到问题可在网上找答案。
"""

# 这样导入模块也可以,但不建议。
# from PyQt5.Qt import *
"""
Qt模块将大多数其他模块的内容合并为单个模块。(不包括Qt3D, Chart,Data Visualization 和 Purchasing 模块)。
这具有优势,您不必担心哪个基础模块包含特定类。它的缺点是加载整个 Qt 框架,从而显著增加应用程序的内存占用。
"""


"""
-----------------------以下是PyQt5 窗体基本代码--------------------------
"""
# 建议使用下面的方式导入,使用哪个模块就导入哪个。
import sys
from PyQt5.QtWidgets import QWidget, QApplication, QLabel



# 定义类并继承自QWidget
class Window(QWidget):  # QWidget类是所有用户界面对象的基础类。
    def __init__(self):  # 这是构造方法,程序启动时会自动执行
        # 调用父类init方法
        super().__init__()
        # 设置窗口宽和高
        self.resize(400, 300)
        # 设置窗口标题
        self.setWindowTitle("这是我的第一个PyQt窗口")
        self.setup_ui()  # 执行类方法
        self.mothod1()  # 执行其他类方法
        self.mothod2()  # 执行其他类方法

    def setup_ui(self):
        """
        将具体UI信息放置在这个类方法中
        程序内容较多,可以把UI内容再次分成多个类方法。
        就像是书的目录一样,这样便于后期代码编辑、维护。
        """
        self.Labels()

    def Labels(self):
        # 创建一个标签对象
        label = QLabel(self)
        # 设置标签的文字内容
        label.setText("这是一个Label")
        # 设置标签的位置
        # 移动label,设置label的位置。
        # 窗体的左上角是ax:0,ay:0,x为横向,y为纵向。
        label.move(20, 20)

    def mothod1(self):  # 类方法
        pass

    def mothod2(self):  # 类方法
        pass

if __name__ == "__main__":
    # 创建一个应用程序对象
    app = QApplication(sys.argv) #sys.argv 命令行启动程序时传入的参数
    # 实例化对象
    window = Window()
    # 显示窗口
    window.show()
    # 应用程序的执行,进入道消息循环 没有这句程序会一闪而逝。
    sys.exit(app.exec_())

2、涉及主要类

类名描述
QApplication管理图形用户界面应用程序的控制流和主要设置
QWidget所有用户界面对象的基础类。
QLabel标签类

3、学习心得

PyQt5模块比较庞大,只要耐心学习,很快就能入门,入门后可以直接使用官方文档进行自我学习了。

PyQt5官网参考指南

可以自己动手做个小程序,涉及到某个部件时再去具体学习这个部件,刚开始掌握一些常用的部件就好。

最开始的QObject,QWidget必须掌握,这是基础。

### PyQt5 示例代码与教程 #### 1. 初识PyQt5并创建简单窗口应用 为了更好地理解和掌握PyQt5,可以从构建一个简单的图形界面应用程序开始。下面是一个基本的例子,展示了如何创建一个带有按钮的小型GUI程序[^2]。 ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton def main(): app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('Simple PyQt App') button = QPushButton('Click Me', window) button.move(50, 50) window.show() sys.exit(app.exec_()) if __name__ == '__main__': main() ``` 这段代码实现了启动一个新的PyQt5应用程序实例,并设置了一个包含单个按钮的窗口。当运行此脚本时,会弹出一个小窗体,在其中可以看到名为“Click Me”的按钮。 #### 2. 使用布局管理器来安排组件位置 除了手动指定控件的位置外,还可以利用PyQt5内置的各种布局类来进行更灵活的设计。这里展示的是QVBoxLayout垂直排列多个部件的方法。 ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit class MyForm(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): label = QLabel("Enter your name:") line_edit = QLineEdit() vbox = QVBoxLayout() vbox.addWidget(label) vbox.addWidget(line_edit) self.setLayout(vbox) self.setGeometry(300, 300, 300, 150) self.setWindowTitle('Layout Example') app = QApplication([]) form = MyForm() form.show() sys.exit(app.exec_()) ``` 上述例子中定义了一种更加结构化的方式来组织界面上的不同元素——通过VBox布局将标签和输入框按顺序堆叠起来显示给用户。 #### 3. 连接信号槽机制实现交互功能 最后一个重要概念就是信号(Signal)-槽(Slot),这是Qt框架下用于处理事件的核心机制之一。下面演示了怎样让之前提到的那个按钮响应点击操作,并触发特定动作的发生。 ```python button.clicked.connect(lambda: print("Button clicked!")) ``` 这行语句表示每当`button`被按下之后就会执行lambda表达式内的命令,即向控制台输出一条消息字符串"Button clicked!"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值