- PyQt 教程
- PyQt - 首頁
- PyQt - 簡介
- PyQt - 環境配置
- PyQt - Hello World
- PyQt - 主要類
- PyQt - 使用 Qt Designer
- PyQt - 元物件
- PyQt 訊號與槽
- PyQt - 訊號和槽
- PyQt - 支援和訊號
- PyQt - 未繫結和已繫結訊號
- PyQt - 使用 PyQtSignal 建立新訊號
- PyQt - 連線、斷開和發射訊號
- PyQt - 槽裝飾器
- PyQt - 槽連線
- PyQt 佈局
- PyQt - 佈局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控制元件
- PyQt - 基本控制元件
- PyQt - QLabel 控制元件
- PyQt - QLineEdit 控制元件
- PyQt - QPushButton 控制元件
- PyQt - QRadioButton 控制元件
- PyQt - QCheckBox 控制元件
- PyQt - QComboBox 控制元件
- PyQt - QSpinBox 控制元件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控制元件
- PyQt - QFontComboBox 控制元件
- PyQt - QDoubleSpinBox 控制元件
- PyQt - QToolBox 控制元件
- PyQt - QDialog 類
- PyQt - QMessageBox
- PyQt - 多文件介面
- PyQt - 拖放操作
- PyQt 繪圖 API
- PyQt - 繪圖 API
- PyQt 資料庫
- PyQt - 資料庫處理
- PyQt 基礎知識
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 類
- PyQt 有用資源
- PyQt - 快速指南
- PyQt - 有用資源
- PyQt - 討論
PyQt - QFontComboBox 控制元件
QFontComboBox 控制元件是一個組合框,用於在 PyQt 應用程式中選擇字體系列。它允許使用者從按字母順序排列的字體系列名稱列表中進行選擇。一些字體系列名稱包括 Arial、Helvetica 和 Times New Roman 等。
繼承關係
QFontComboBox 類繼承其核心功能自 QComboBox 類,而 QComboBox 類又繼承自 QWidgets 類。
QFontComboBox 的主要特性
- 字體系列選擇 - 使用字體系列選擇,使用者可以輕鬆地從組合框中提供的按字母順序排列的列表中選擇字體系列。
- 視覺表示 - 儘可能使用字型的實際樣式來顯示字型,這有助於使用者直觀地識別他們喜歡的字型。
- 自定義 - 我們可以根據某些標準(如可伸縮性和書寫系統)過濾字型。
- 整合 - 它通常與其他與字型相關的控制元件(如字型大小選擇器和樣式切換)一起整合到工具欄中。
示例 1:基本的 QFontComboBox 實現
在這個示例中,建立了一個簡單的 PyQt 應用程式,並在主視窗中添加了一個 QFontComboBox 控制元件。執行應用程式後,使用者可以互動式地從組合框中選擇字體系列。
這裡,initUI 方法透過設定 QVBoxLayout 來初始化使用者介面,以垂直排列控制元件,將 QFontComboBox 新增到佈局中,並將視窗標題設定為 'Font Selector'。最後,使用 QApplication 執行應用程式,顯示視窗並在應用程式退出之前處理事件。
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QFontComboBox
class FontSelector(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
layout = QVBoxLayout()
font_combo = QFontComboBox()
layout.addWidget(font_combo)
self.setLayout(layout)
self.setWindowTitle('Font Selector')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = FontSelector()
window.show()
sys.exit(app.exec())
輸出結果
以上程式碼產生以下結果:
示例 2:使用 QFontComboBox 過濾字型
在下面的示例中,我們將建立一個字型選擇器,它只顯示可縮放的字型。當我們從組合框中選擇一個字型時,下面的標籤將更新以顯示所選的字體系列。
在一個 FontSelector QWidget 中,一個 QVBoxLayout 佈局排列控制元件。一個 QFontComboBox,font_combo,由於 setFontFilters() 而只顯示可縮放的字型。一個 QLabel,font_label,當字型選擇發生變化時,透過 update_label() 更新以顯示所選的字體系列。
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QFontComboBox, QLabel
class FontSelector(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
layout = QVBoxLayout()
# Create QFontComboBox
font_combo = QFontComboBox()
# Set font filters to show only scalable fonts
font_combo.setFontFilters(QFontComboBox.FontFilter.ScalableFonts)
# Create a label to display the selected font
self.font_label = QLabel("Selected Font")
# Connect fontChanged signal to update_label slot
font_combo.currentFontChanged.connect(self.update_label)
layout.addWidget(font_combo)
layout.addWidget(self.font_label)
self.setLayout(layout)
self.setWindowTitle('Font Selector')
def update_label(self, font):
# Update the label text with the selected font family
self.font_label.setText(f"Selected Font: {font.family()}")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = FontSelector()
window.show()
sys.exit(app.exec())
輸出結果
以上程式碼產生以下結果:
廣告