PyGTK-フォント選択ダイアログ

gtk.FontSelectionウィジェットを使用すると、ユーザーは特定の名前、サイズ、スタイルのフォントを選択して適用できます。ダイアログには、選択したフォントの説明で表示されるテキストを含むプレビューボックスと、[キャンセル]と[OK]の2つのボタンがあります。

PyGTK APIには、高品質の国際化されたテキストをレンダリングするために必要なクラスと機能を定義するPangoモジュールが含まれています。gtkでのフォントとテキストの処理はPangoでサポートされています。pango.Fontオブジェクトは、システムに依存しない方法でフォントを表します。pango.FontDescriptionオブジェクトには、フォントの特性が含まれています。

gtk.FontSelectionDialogは、pango.Fontオブジェクトを返します。選択したフォントを適用するために、そこからpango.FontDescriptionオブジェクトを取得してfontmetricsをフェッチします。

以下は、FontSelectionDialogクラスのコンストラクターです-

dlg = gtk.FontSelectionDialog(title)

以下は、このクラスで頻繁に使用されるメソッドです。

  • get_font_name() −これは、現在選択されているフォント名を含む文字列を返します。フォント名が選択されていない場合は、Noneを返します。

  • set_font_name() −これは現在のフォントを設定します

  • set_preview_text() −プレビューエリアエントリのテキストを設定します

選択したフォントは、modify_font()メソッドを使用してウィジェット内のテキストに適用されます。

FontSelectionDialogメニュー項目がアクティブになると、次のコールバック関数が呼び出されます-

def on_abtdlg(self, widget):
   about = gtk.AboutDialog()
   about.set_program_name("PyGTK Dialog")
   about.set_version("0.1")
   about.set_authors("M.V.Lathkar")
   about.set_copyright("(c) TutorialsPoint")
   about.set_comments("About Dialog example")
   about.set_website("http://www.tutorialspoint.com")
   about.run()
   about.destroy()

選択したフォントは、トップレベルウィンドウに配置されたラベルのテキストに適用されます。

以下は出力です-