非常に長い文字列のリストから選択する OptionMenu があります。ウィンドウのサイズを常に変更したくないので、OptionMenu の幅を、ほとんどのオプションを完全に含むことができる幅に修正しました。
私が抱えている問題は、非常に長いオプションが選択されると、それがボタンの中央に配置され、レバーバーのもの (それが何であれ) が最後の数文字 (乱雑に見える) の上に描画されることです。収まらない文字列を理解する最良の可能性は、途中でランダムにではなく、最初から読み始めることであるため、むしろ左揃えにしたいと思います。
これがどのように描画されるかをオーバーライドする方法はありますか? OptionMenu のオプションは実際にはありません。理想的には、長い文字列を切り捨て、省略記号 (...) を追加して、収まらないことを示したいと思いますが、少なくとも左揃えにすることで大きな改善が得られます。
ある種のボタンの上に構築されているように見えます。設定できるようにそのボタンにアクセスする方法はありますか?
OptionMenu が長い選択をどのように処理するかを正確に確認したい場合の実際の例を次に示します (python 2.6)...
root = Tk()
body = Frame(root)
body.pack()
chosen = StringVar( root)
om = OptionMenu( body, chosen, 'short option', 'this is anything but a short option, and wordy to boot!')
om.config( width=10)
om.pack()
root.mainloop()