Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterで利用可能なフォントファミリを一覧表示するにはどうすればよいですか?


Tkinterフォント プロパティは、ウィジェットのデフォルトフォントをカスタマイズするために使用される最も価値のあるプロパティの1つです。すでに非常に多くのフォントを見てウィジェットで使用していますが、Tkinterライブラリでどのフォントが適用可能かを推測するのが難しい場合があります。 Python Tkinterは、フォントの選択についてより具体的です。 Tkinterライブラリで使用可能なすべてのフォントを一覧表示できるアプリケーションを作成できます。

フォントを使用するには ライブラリの場合は、

を使用して環境にインポートする必要があります。
from tkinter import font

この特定のアプリケーションを作成するには、いくつかの手順があります。

  • font.families()を使用して、関数を定義し、フォントのインスタンスを作成します コンストラクター。

  • すべてのフォントを繰り返し、特定のフォントでテキスト値を割り当てることにより、ラベルウィジェットを使用してそれらを表示します。

  • 垂直スクロールバーを使用してキャンバスを作成します。

  • キャンバス内にすべてのフォントを表示するフレームを作成します。

  • フレーム内のスクロール機能を可能にするスクロールウィジェットにマウスボタンをバインドします。

#Import required library
from tkinter import *
from tkinter import font
#Create an instance of tkinter frame
win = Tk()
win.geometry("750x350")
win.title('Font List')
#Create a list of font using the font-family constructor
fonts=list(font.families())
fonts.sort()
def fill_frame(frame):
   for f in fonts:
      #Create a label to display the font
      label = Label(frame,text=f,font=(f, 14)).pack()
def onFrameConfigure(canvas):
   canvas.configure(scrollregion=canvas.bbox("all"))
#Create a canvas
canvas = Canvas(win,bd=1, background="white")
#Create a frame inside the canvas
frame = Frame(canvas, background="white")
#Add a scrollbar
scroll_y = Scrollbar(win, orient="vertical", command=canvas.yview)
canvas.configure(yscrollcommand=scroll_y.set)
scroll_y.pack(side="right", fill="y")
canvas.pack(side="left", expand=1, fill="both")
canvas.create_window((5,4), window=frame, anchor="n")
frame.bind("<Configure>", lambda e, canvas=canvas: onFrameConfigure(canvas))
fill_frame(frame)
win.mainloop()

出力

上記のコードを実行すると、Tkinterがサポートする利用可能なフォントのリストを含むウィンドウが表示されます。

Tkinterで利用可能なフォントファミリを一覧表示するにはどうすればよいですか?


  1. Tkinter Canvasをクリアする方法は?

    Tkinterは、ウィンドウにキャンバスを追加する方法を提供します。キャンバスを作成すると、メモリ内のストレージがラップされます。 tkinterでキャンバスを作成している間、クリアまたは削除する必要のあるメモリを効果的に消費します。 キャンバスをクリアするには、 delete()を使用できます 方法。 「all」を指定することで、tkinterフレームに存在するすべてのキャンバスを削除してクリアできます。 例 #Import the tkinter library from tkinter import * #Create an instance of tkinter frame win

  2. キャンバスで画像を中央に配置する方法PythonTkinter

    Tkinterを使用してGUIベースのアプリケーションを作成していて、Tkinterキャンバスに画像をロードしたいとします。 デフォルトでは、キャンバスはその幅と高さに応じて画像をロードしますが、「方向」を渡すことで、画像の位置を任意の方向(N、S、E、W、NS、EWなど)に操作できます。アンカーパラメータの値。アンカーは、画像関数とともに呼び出されるパラメータです。キャンバス内の画像の方向または位置を定義します。 アンカーパラメータを使用することで、テキストと画像を任意の方向に揃えることができます。今のところ、ラベルを使用して画像ラベルを作成します そのような機能、 Label(root