實戰PyQt5: 058-字型選擇對話方塊QFontDialog
QFontDialog簡介
QFontDialog控制元件是一個常用的字型選擇對話方塊,繼承自QDialog,是Qt內建的標準對話方塊之一。它可以讓使用者選擇所顯示的文字的字型型別,字號大小、樣式和格式。通過QFontDialog控制元件可以在介面中對文字的字型樣式進行精確設定。使用QFontDialog類的靜態方法getFont(),可以從字型選擇對話方塊中選擇文字的顯示字號大小樣式和格式。
QFontDialog常用方法有:
- getFont(): 開啟字型對話方塊,如果點選確定按鈕,則返回True和選擇的字型;
- currentFont(): 返回當前字型;
- open(): 開啟對話方塊並將其fontSelected()訊號連線到接收器和指定的插槽。當對話方塊關閉時,訊號將從插槽斷開;
- selectedFont(): 返回使用者通過單擊“確定”或等效按鈕時選擇的字型;
- setCurrentFont(): 將給定的字型設定QFontDialog中突出顯示的字型;
- setOption(): 如果引數on為True,則將給定選項設定為啟用,否則清除該給定選項;
- setOptions(): 設定給定字型選項;
- testOption(): 如果已啟用給定選項,則返回True,否則返回False;
- options(): 返回FontDialogOptions型別的列舉值。
FontDialogOptions取值及含義:
- NoButtons: 沒有按鈕,表示選擇所有字型;
- DontUseNativeDialog: 不使用系統原生對話方塊;
- ScalableFonts: 可縮放字型;
- NonScalableFonts: 不可縮放字型;
- MonospacedFonts: 等寬字型;
- ProportionalFonts: 等比例字型。
QFontDialog常用訊號:
- currentFontChanged: 當前字型樣式發生改變時發射該訊號;
- fontSelected: 字型樣式最終被選擇時發射該訊號。
QFontDialog類繼承關係:
測試QFontDialog
建立檔案qfontdialog.py,通過字型選擇對話方塊選擇相應字型,將字型的效果顯示在一個QLabel標籤頁的文字上,完整程式碼如下:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QApplication, QWidget, QLabel,
QPushButton, QFontDialog, QVBoxLayout)
class DemoFontDialog(QWidget):
def __init__(self, parent=None):
super(DemoFontDialog, self).__init__(parent)
# 設定視窗標題
self.setWindowTitle('實戰PyQt5: QFontDialog Demo!')
# 設定視窗大小
self.resize(360, 240)
self.initUi()
def initUi(self):
vLayout = QVBoxLayout(self)
vLayout.addSpacing(10)
btnTest = QPushButton('調整字型', self)
btnTest.clicked.connect(self.onSetFont)
self.label_text = QLabel('實戰PyQt5: \n測試QFontDialog')
self.label_text.setAlignment(Qt.AlignCenter)
self.label_text.setFont(QtGui.QFont(self.font().family(), 16))
vLayout.addWidget(btnTest)
vLayout.addWidget(self.label_text)
self.setLayout(vLayout)
def onSetFont(self):
font,ok = QFontDialog.getFont()
if ok:
self.label_text.setFont(font)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = DemoFontDialog()
window.show()
sys.exit(app.exec())
執行結果如下圖:
測試QFontDialog
本文知識點
- 使用QFontDialog的getFont方法獲得字型;
- 修改QLabel文字字型;
- QLabel文字字型的對齊方式。
相關文章
- [MFC]選擇目錄對話方塊和選擇檔案對話方塊
- 資料夾選擇對話方塊 JS實現(轉)JS
- PyQt5開啟檔案對話方塊QFileDialogQT
- 支援圖片預覽的檔案選擇對話方塊
- Android小記-仿淘寶聯動地址選擇對話方塊Android
- 常用元件 / 對話方塊及選單元件
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- Android通知之多選對話方塊通知Android
- iOS專案開發實戰——監聽對話方塊的按鈕點選事件iOS事件
- iOS專案開發實戰——彈出提示對話方塊iOS
- Matlab - 獲取和儲存檔案路徑選擇對話方塊Matlab
- Qt標準對話方塊實現QT
- Android通知之單選對話方塊通知Android
- 對話方塊函式函式
- 登入對話方塊
- 【Qt 專欄】檔案對話方塊 檔案的彈窗選擇-QFileDialogQT
- 【Android初級】如何實現一個具有選擇功能的對話方塊效果(附原始碼)Android原始碼
- jQuery模擬實現聊天對話方塊jQuery
- c++開啟挑選圖片對話方塊C++
- c#中的模態對話方塊和非模態對話方塊C#
- flutter demo (四):對話方塊Flutter
- Javascript檔案對話方塊JavaScript
- PyQT5 實現下拉核取方塊QT
- 原生js實現的點選彈出螢幕居中對話方塊效果JS
- React中的模式對話方塊React模式
- 在 Flutter 使用 GetX 對話方塊Flutter
- Qt 對話方塊新增工具欄QT
- 如何自學qt(4)——對話方塊QT
- QT 等待對話方塊/進度QT
- android 多項對話方塊Android
- Android Dialog對話方塊Android
- DialogPane對話方塊佈局
- QT常用控制元件(一)——選單欄和對話方塊QT控制元件
- 視窗和對話方塊居中對齊
- 實現element-ui對話方塊可拖拽功能UI
- Flutter Widgets 對話方塊-DialogFlutter
- TWebBrowser禁止彈出Alert對話方塊Web
- 一個Flex 對話方塊的坑Flex