PyQt(Python+Qt)學習隨筆:使用QFontDialog.getFont交互設置應用或部件的字體

PyQt中的部件只要是QWidget的派生類都可以在Designer或應用中直接設定字體,但如果我們需要最終用戶自己設置字體怎麼辦?其實PyQt提供了很方便的字體設置對話框類QFontDialog,應用可以在需要最終用戶設置字體的地方,使用QFontDialog來創建一個對象,然後通過selectedFont就可以返回用戶的選擇字體。另外還提供了一個非常便利的類方法,實例都無需創建直接使用即可,這個方法就是getFont。

調用語法

  • getFont(QFont font, parent: QWidget = None, caption: str = ‘’, options: QFontDialog.FontDialogOptions())
  • getFont(parent: QWidget = None) -> Tuple[QFont, bool]
說明:
  • 本調用語法與Qt的調用語法差異比較大
  • 參數font爲初始字體,當點擊cancel按鈕時直接返回該值
  • 參數parent爲父窗口,可以爲None
  • 參數caption爲對話框的title顯示信息
  • 返回值爲一個元組Tuple,元組中包括兩個元素font和confirm,font是選擇的字體,confirm是選擇確認,當爲True時表示點擊對話框的OK按鈕返回,爲False時點擊的是Cancel按鈕返回,是否需要判斷confirm值是否爲True時才使用font的值去設置字體需要看應用的要求

代碼案例:

font = self.edit.font()
font,changed = QtWidgets.QFontDialog.getFont(font,self,"字體設置")
if changed:  self.edit.setFont(font)

老猿Python,跟老猿學Python!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章