python – tkinterのComboboxフォントサイズ

こんにちは私はオプション付きのドロップダウンを作成するのにttkコンボボックスを使用しようとしています。
そうしながら、私はそれに渡されるデフォルト値のフォントサイズを設定することができます。
しかし、私は矢印をクリックしても他の値のフォントサイズは同じままです。私はタッチスクリーン用のアプリを開発しているので、私は適切なサイズを提供する必要があります。
サンプルコードは、私がコードを実行するとき、私はAのサイズが大きい、私は他の値がデフォルトのサイズであることを参照してください矢印キーをクリックしてボタンをクリックします。

#! /usr/bin/python

from Tkinter import *
import ttk


class Application:

    def __init__(self, parent):
        self.parent = parent
        self.combo()

    def combo(self):
        self.box_value = StringVar()
        self.box = ttk.Combobox(self.parent, textvariable=self.box_value,font=("Helvetica",20))
        self.box['values'] = ('A', 'B', 'C')
        self.box.current(0)
        self.box.grid(column=0, row=0)

if __name__ == '__main__':
    root = Tk()
    app = Application(root)
    root.mainloop()
ベストアンサー
重要なのは、ttkコンボボックスのドロップダウンメニューは実際には単純なTkinter Listboxなので、ttkスタイルの影響を受けないことです。コンボボックスからリストボックスへの参照を取得することが可能ならば、フォントを変更するのは簡単でしょう。しかし、私はTkinterでそうする方法を見つけることができませんでした。

patthoyts’のとおり非常に役に立つcommentに従って編集されました。
できることは、Comboboxの一部であるすべてのリストボックスのフォントを変更することです。

bigfont = tkFont.Font(family="Helvetica",size=20)
root.option_add("*TCombobox*Listbox*Font", bigfont)

これは、ttkコンボボックスの一部であり、これを呼び出した後に作成されるすべてのリストボックスウィジェットのフォントを変更します。
これはすべての新しいコンボボックスに影響しますが、私はそれがあなたが望むものであると思います。このコンボボックス専用の新しいフォントが必要な場合は、このコンボボックスを最後のウィジェットとして作成し、このコンボボックスを作成する直前にself.parent.option_add( “* TCombobox * Listbox * Font”、bigfont)を呼び出すことを選択できます。このコンボボックスの下のリストボックスだけに新しいフォントが表示されます。

すべてのウィジェットのフォントを大きくしたい場合は、次のようにします。

root.option_add("*Font", bigfont)

または、this answerの説明に従ってデフォルトフォントを変更することもできます。

転載記事の出典を記入してください: python – tkinterのComboboxフォントサイズ - コードログ