day01:认识 QApplication 与 QLabel

1. PyQt6 是什么?

  • Qt:一个跨平台的 C++ GUI 框架,历史悠久,应用广泛(Photoshop、WPS、VirtualBox 都是基于 Qt)。

  • PyQt6:Qt 的 Python 绑定,让你用 Python 就能写出专业级的桌面应用,而不必学习 C++。

  • 竞争对手:PySide6(Qt 官方的 Python 绑定),用法几乎一样。选择哪一个都行。


2. Qt 应用的基本结构

一个最简单的 PyQt 程序包含三部分:

  1. QApplication:应用对象,整个程序必须有且只有一个。它管理事件循环(监听鼠标、键盘、窗口关闭等)。

  2. 控件(QWidget 及其子类):界面上的元素,比如窗口、标签、按钮。

  3. 事件循环:程序常驻运行,等待用户操作。调用 app.exec() 开始。


3. QLabel 控件

  • QLabel:用于显示一段文本或图片,是 Qt 里最轻量级的控件。

  • QLabel 既可以嵌在窗口中作为子控件,也可以单独显示(直接当成窗口)。

  • 常见用途:显示文字、显示图片、作为提示标签。

常用方法:

  • setText("内容") → 设置文本内容

  • setPixmap(QPixmap("图片路径")) → 显示图片

  • setAlignment(Qt.AlignmentFlag.AlignCenter) → 设置对齐方式

  • setStyleSheet("CSS语法") → 设置样式(类似网页的 CSS)

4. 代码演练:

from PyQt6.QtWidgets import QApplication, QLabel

# 创建 Qt 应用对象,必须有且只有一个
app = QApplication([])

# QLabel:显示一段文字的控件
label = QLabel("Hello, PyQt6")
label.setWindowTitle("Day 1 - 最小窗口")  # 设置窗口标题
label.resize(300, 100)  # 设置窗口大小
label.show()  # 显示控件(此时它就是一个窗口)

# 启动事件循环,等待用户操作
app.exec()

👉 运行结果:出现一个 300×100 的小窗口,里面写着 "Hello, PyQt6"

image

5. QLabel 的进阶玩法

我们稍微扩展一下,让你感受 QLabel 的多样性。

import sys
from PyQt6.QtWidgets import QApplication, QLabel
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QPixmap

app = QApplication(sys.argv)

# 文本标签
label1 = QLabel("Hello, PyQt6!")
label1.setWindowTitle("Day 01 - 最小窗口")
label1.setAlignment(Qt.AlignmentFlag.AlignCenter)
label1.resize(300, 100)
label1.show()

# 图片标签
label2 = QLabel()
label2.setWindowTitle("Day 01 - 图片标签")
label2.setPixmap(QPixmap("../img/test.png"))
label2.resize(300, 200)
label2.show()

# html标签
label3 = QLabel("<h2 style='color:blue'>Hello, PyQt6!</h2><p>支持html!</p>")
label3.setWindowTitle("Day 01 - html标签")
label3.resize(300, 150)
label3.show()

# 进入事件循环
sys.exit(app.exec())

👉 运行结果:

  • 第一个窗口显示普通文本。

  • 第二个窗口显示图片。

  • 第三个窗口显示 HTML 样式化的文字。

image

6. 小结

今天你学到:

  • QApplication:Qt 程序的入口,负责事件循环。

  • QLabel:最基础的显示控件,可以显示文本、图片、HTML。

  • 窗口基本属性:标题 (setWindowTitle)、大小 (resize)、显示 (show)。

到这里,你已经能写出最小的 PyQt 程序,并且用 QLabel 显示多种内容了。

posted @ 2025-09-04 17:09  毛豆*_*  阅读(37)  评论(0)    收藏  举报