2016-05-03 5 views
0

私はテキストとしてPythonスクリプトを読んでおり、そこに書かれたargparseメソッドを使ってtkinterを使って自動的にGUIを作成しています。それは何らかの理由で大きな列の中で西/左に揃えることができないラジオボタンとは別にすべて正常に機能します。彼らはちょうどそれの真ん中に座るPython tkinterはラジオボタンを西に合わせる

私のコード全体は、パックではなくグリッドを使用しています。私はむしろそれを変更したくありません。

def create_radiobuttons(self, 
         arg): 
    """Creates a widget that will only accept one option 
    """ 

    ttk.Label(self.mainframe, text=arg['metavar']).grid(column=0, row=self.num, sticky=(N, E)) 
    var = StringVar() 
    for choice in arg['choices']: 
     box = Radiobutton(self.mainframe, text=choice, variable=var, value=choice, width=self.width) 
     box.grid(column=1, row=self.num, anchor=W) 
     self.num += 1 
    self.display_help(arg) 

    return box 

ありがとう!

+0

ならば完全な実例(完全なプログラムではありません)を提供できるなら、本当に助けになります。 http://www.stackoverflow.com/help/mcveを参照してください。 –

+0

あなたが提供した例にはいくつかの問題があります。たとえば、グリッドはアンカーを取らず、固定引数は文字列、タプルなどを必要とします。これらのタイプの問題はまさにあなたの質問に[MCVE]を提供する必要がある理由です。 –

答えて

2

anchor属性はラジオボタンと一緒に表示されるため、ボタンの内容はウィジェットの左側に固定されます。

列の左側に全体スティックなどのウィジェットは、それが中に配置されるように、この列が管理されている方法に応じて、あなたはまた、gridを呼び出すときにsticky属性を追加する必要があるかもしれません。

+0

Bryanに感謝します。私の例では、アンカーは.grid()メソッド内にありました。私の悪い – WRJ

関連する問題