目录
前言
本系列文章为b站PySide6教程以及官方文档的学习笔记
原视频传送门:【已完结】PySide6百炼成真,带你系统性入门Qt
官方文档链接:Qt for Python
基础框架
我们来实现一个最简单的窗口,并借由其代码来初步认识pyside6的结构
from PySide6.QtWidgets import QApplication, QMainWindow
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
if __name__ =="__main__":
app =QApplication()
window = MyWindow()
window.show()
app.exec()
首先是导入的QApplication
和QMainWindow
类,这些类是用于创建 GUI 应用程序的基本类。
然后我们从QMainWindow
类继承我们自己的窗口类Mywindow
,这个类将用于创建应用程序的主窗口,此时类中只调用了父类的构造函数。
主程序中则创建了QApplication
和MyWindow
类的实例,QApplication 是一个必需的类,它管理应用程序的控制流和主要设置。
window.show()
用于显示MyWindow 实例,这将使窗口可见并允许用户与它进行交互
app.exec()
用于启动应用程序的事件循环。事件循环是一个无限循环,它等待用户输入和系统事件,并相应地更新应用程序的状态。
这段代码的运行效果如下
基础控件
一般来说一个应用程序的运行逻辑无非是用户输入->用户交互->输出
那么这就涉及到三种最基本的控件:按钮、标签和输入框
想要给窗体添加控件,需要在窗体类的构造函数中添加控件实例
QPushButton
该控件需要从PySide6.QtWidgets
导入
from PySide6.QtWidgets import QPushButton
btn = QPushButton("Click me", self)
但是光一个控件肯定不行,我们还需要设置它的一些属性,来满足高级需求
事实上,当我们想了解一个控件有哪些属性,以及这些属性分别有什么功能时,可以在Qt Designer上进行测试
当我们配置好vscode中的扩展插件PYQT Integration后,只需在文件上右键就能快速打开Qt Designer
我们只需拖动一个部件到窗体上,即可在右侧窗口查看并调试它的一些属性
这里列出几个PushButton常用的属性
属性 | 作用 |
---|---|
geometry(几何) | 坐标位置、尺寸大小 |
text | 按钮上显示的文字 |
toolTip | 鼠标放在按钮上时显示的提示文字 |
想要为控件实例设置属性,需要调用set+属性名
的方法
如下示例
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
btn = QPushButton("Click me", self)
btn.setGeometry(100, 100, 200, 50) #设置(x,y)坐标为(100,100),而宽高分别为200和50
btn.setText("new text") #重新设置的文字会覆盖初始化时的文字
btn.setToolTip("tips")
QLabel
该控件需要从PySide6.QtWidgets
导入
from PySide6.QtWidgets import QLable
lb = QLable("Hello", self)
下面是一些常用的标签特有属性
属性 | 作用 |
---|---|
text | 标签上显示的文字 |
textFormat | 如PlainText、MarkdownText和RichText形式 |