【python脚本GUI编程】PyQt5脚本开发指南

PyQt5是一个用于创建桌面应用程序的强大工具包,它基于Qt库,提供了丰富的GUI组件和功能。在本文中,我们将介绍PyQt5的常用API和常见表单控件,以及它们的使用方法。

PyQt5基础概述

PyQt5是一个Python模块,它允许开发者使用Python语言创建跨平台的桌面应用程序。通过Qt Designer工具,你可以方便地设计用户界面,并使用PyQt5将其与代码集成。

安装

pip install PyQt5

常用API介绍

QApplication

QApplication类是PyQt5应用程序的主入口点,它管理应用程序的控制流和主要设置。

import sys
from PyQt5.QtWidgets import QApplication, QWidget

# 创建应用程序对象
app = QApplication(sys.argv)
# 创建主窗口
window = QWidget()
window.setWindowTitle('PyQt5窗口标题')
# 显示窗口
window.show()
# 运行应用程序
sys.exit(app.exec_())

运行效果图:

【python脚本GUI编程】PyQt5脚本开发指南_第1张图片

QWidget

QWidget是PyQt5中所有用户界面对象的基类。窗口、对话框等所有可视控件都是QWidget的子类。

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLineEdit
import sys


class MyWidget(QWidget):
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()

        button = QPushButton('Click me!')
        layout.addWidget(button)

        line_edit = QLineEdit()
        layout.addWidget(line_edit)

        self.setLayout(layout)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWidget()
    window.setWindowTitle('PyQt5窗口标题')
    window.show()
    sys.exit(app.exec_())

运行效果图:

【python脚本GUI编程】PyQt5脚本开发指南_第2张图片

常用表单控件

按钮

按钮用于触发特定操作,例如提交表单或启动特定功能。

from PyQt5.QtWidgets import QPushButton

# 创建按钮
button = QPushButton('Click me!')

输入框

输入框允许用户输入文本信息,例如用户名、密码等。

from PyQt5.QtWidgets import QLineEdit

# 创建输入框
line_edit = QLineEdit()

QTextEdit

QTextEdit是一个用于显示和编辑文本的多行文本框,它允许用户输入文本,并且支持滚动浏览。

下面是一个简单的例子,演示了如何创建一个带有滑动文本的窗口:



import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTextEdit


class ScrollTextWidget(QWidget):
    def __init__(self):
        super().__init__()

        # 创建垂直布局
        layout = QVBoxLayout()

        # 创建滑动文本框
        scroll_text = QTextEdit()
        scroll_text.setPlainText("这是一个滑动文本框,可以滚动查看更多内容。" * 10)
        layout.addWidget(scroll_text)

        # 设置布局
        self.setLayout(layout)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = ScrollTextWidget()
    window.setWindowTitle('PyQt5窗口标题')
    window.show()
    sys.exit(app.exec_())

运行效果图:

【python脚本GUI编程】PyQt5脚本开发指南_第3张图片

布局

合理的布局可以让界面更加协调、美观,常用的两种布局方式写法如下:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton


class CombinedLayoutWidget(QWidget):
    def __init__(self):
        super().__init__()

        # 创建垂直布局
        vertical_layout = QVBoxLayout()

        # 创建输入框
        vertical_line_edit = QLineEdit()
        vertical_layout.addWidget(vertical_line_edit)

        # 创建按钮
        vertical_button = QPushButton('垂直布局按钮')
        vertical_layout.addWidget(vertical_button)

        # 创建水平布局
        horizontal_layout = QHBoxLayout()

        # 创建输入框
        horizontal_line_edit = QLineEdit()
        horizontal_layout.addWidget(horizontal_line_edit)

        # 创建按钮
        horizontal_button = QPushButton('水平布局按钮')
        horizontal_layout.addWidget(horizontal_button)

        # 创建主布局,添加垂直和水平布局
        main_layout = QVBoxLayout()
        main_layout.addLayout(vertical_layout)
        main_layout.addLayout(horizontal_layout)

        # 设置主布局
        self.setLayout(main_layout)


if __name__ == '__main__':
    app = QApplication(sys.argv)

    # 创建包含两种布局的窗口
    combined_window = CombinedLayoutWidget()
    combined_window.setWindowTitle('布局Demo')
    combined_window.show()

    sys.exit(app.exec_())

运行效果图:

【python脚本GUI编程】PyQt5脚本开发指南_第4张图片

在以上代码中,通过注释说明了每个API和控件的作用,使读者更容易理解和使用。在实际开发中,可以根据项目需求进一步扩展和定制这些控件。希望本文能帮助你入门PyQt5脚本开发,快速构建强大的桌面应用程序。

文章内容已同步微信公众号“一个努力奔跑的snail”,获取更多爬虫案例、工具源码,后台回复相关关键词即可获取。

你可能感兴趣的:(python,python爬虫,js逆向,python,qt,开发语言)