實戰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文字字型的對齊方式。
相關文章
- Android小記-仿淘寶聯動地址選擇對話方塊Android
- Matlab - 獲取和儲存檔案路徑選擇對話方塊Matlab
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- Dialog對話方塊
- 對於核取方塊的快捷選擇
- 【Qt 專欄】檔案對話方塊 檔案的彈窗選擇-QFileDialogQT
- 【Android初級】如何實現一個具有選擇功能的對話方塊效果(附原始碼)Android原始碼
- 規定對話方塊
- 登入對話方塊
- c++開啟挑選圖片對話方塊C++
- flutter demo (四):對話方塊Flutter
- Flutter Widgets 對話方塊-DialogFlutter
- DialogPane對話方塊佈局
- PyQT5 實現下拉核取方塊QT
- React中的模式對話方塊React模式
- Qt 對話方塊新增工具欄QT
- 0x7_對話方塊
- java Swing詢問對話方塊Java
- 在 Flutter 使用 GetX 對話方塊Flutter
- 訊息對話方塊 confirm() prompt()
- QT常用控制元件(一)——選單欄和對話方塊QT控制元件
- 實現element-ui對話方塊可拖拽功能UI
- 如何自學qt(4)——對話方塊QT
- flutter佈局-7-About對話方塊Flutter
- JavaFX 如何使用內建的對話方塊Java
- w10系統對話方塊這麼變小_w10系統對話方塊如何縮小
- 關於showModalDialog()對話方塊點選按鈕彈出新頁面的問題
- [開發教程]第31講:Bootstrap對話方塊boot
- Element-Ui元件(三十八)Dialog 對話方塊UI元件
- Flutter 23: 圖解自定義 Dialog 對話方塊Flutter圖解
- 建立互動式shell指令碼對話方塊指令碼
- 21.Quick QML-FileDialog、FolderDialog對話方塊UI
- Electron 開啟儲存檔案對話方塊
- vxe-table 實現核取方塊多選透過滑鼠拖動選擇功能
- jQuery+bootstrap實現美化警告/確認/提示對話方塊外掛jQueryboot
- 直播平臺原始碼,針對訊息對話方塊的實際應用效果原始碼
- 模態對話方塊可能導致程式崩潰
- C/C++ Qt Dialog 對話方塊元件應用C++QT元件