---
title: "Python Qt 字体应用"
author: "Perrin Yong"
author_profile: https://www.pystone.net/profile/
published_by: "Perrin Yong"
canonical: https://www.pystone.net/notes/python-qt-font-usage/
type: note
content_role: unspecified
visibility: public
id_stability: rename-stable
source_path: "10-计算机、信息技术与工程/04-应用开发与云端工程/桌面应用开发/Python Qt 字体应用.md"
content_hash: 2bb6e3bb6d7dce2bc82fbb0989e4f585799c5696da2ecc718ab0e24ba5771ba1
knowledge_version: 224c990773de.5fa8af6e39fa
site_commit: 224c990773de166d23a886306577dd90379529ce
notes_commit: 5fa8af6e39fa3891d1b9b4832bfa6c4e0ecaaf0a
---
# Python Qt 字体应用



代码中设置：
```python
from PySide6.QtGui import QFontDatabase
from PySide6.QtWidgets import QApplication, QLabel
import sys

app = QApplication(sys.argv)

# Python Qt 字体应用
fontId = QFontDatabase.addApplicationFont(":/fonts/MyFont.ttf")
if fontId != -1:
    # 获取成功加载的字体的名称
    fontFamilies = QFontDatabase.applicationFontFamilies(fontId)
    if fontFamilies:
        fontName = fontFamilies[0]
        print(f"Loaded font: {fontName}")

        # 设置应用程序默认字体
        app.setFont(QFont(fontName, 10))

        # 或者，仅为特定控件设置字体
        label = QLabel("This is a label with custom font.")
        label.setFont(QFont(fontName, 12))
        label.show()
else:
    print("Failed to load font from resource.")

sys.exit(app.exec())
```

设置应用程序的字体：
``` python
from PySide6.QtWidgets import QApplication
from PySide6.QtGui import QFont

app = QApplication([])

## 创建字体对象，设置字体名称和字号
font = QFont("Arial", 10)
## 为应用程序设置默认字体
app.setFont(font)

## ... 创建窗口和控件等 ...

```

为特定窗口或控件设置字体：
```python
from PySide6.QtWidgets import QApplication, QLabel
from PySide6.QtGui import QFont

app = QApplication([])

## 创建标签控件
label = QLabel("Hello, world!")

## 创建字体对象并设置字体名称和字号
font = QFont("Times New Roman", 12)
## 为标签控件设置字体
label.setFont(font)

label.show()

```

QSS设置：

```css
QLabel {
    font-family: "Arial";
    font-size: 10pt;
    color: #333333;
}

QPushButton {
    font-family: "Verdana";
    font-size: 9pt;
    font-weight: bold;
    color: white;
    background-color: #5c5c5c;
}

```
