PyQt5是一个用于创建桌面应用程序的强大工具包,它基于Qt库,提供了丰富的GUI组件和功能。在本文中,我们将介绍PyQt5的常用API和常见表单控件,以及它们的使用方法。
PyQt5是一个Python模块,它允许开发者使用Python语言创建跨平台的桌面应用程序。通过Qt Designer工具,你可以方便地设计用户界面,并使用PyQt5将其与代码集成。
pip install PyQt5
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_())
运行效果图:
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_())
运行效果图:
按钮用于触发特定操作,例如提交表单或启动特定功能。
from PyQt5.QtWidgets import QPushButton
# 创建按钮
button = QPushButton('Click me!')
输入框允许用户输入文本信息,例如用户名、密码等。
from PyQt5.QtWidgets import QLineEdit
# 创建输入框
line_edit = QLineEdit()
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_())
运行效果图:
合理的布局可以让界面更加协调、美观,常用的两种布局方式写法如下:
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_())
运行效果图:
在以上代码中,通过注释说明了每个API和控件的作用,使读者更容易理解和使用。在实际开发中,可以根据项目需求进一步扩展和定制这些控件。希望本文能帮助你入门PyQt5脚本开发,快速构建强大的桌面应用程序。
文章内容已同步微信公众号“一个努力奔跑的snail”,获取更多爬虫案例、工具源码,后台回复相关关键词即可获取。