2016-05-03 183 views
0

我正在以文本形式讀取Python腳本,並使用寫入其中的argparse方法自動使用tkinter創建GUI。除了我的單選按鈕之外,這一切都可以正常工作,因爲某些原因,我無法強制在大列中對齊左/右。他們只是坐在它的中間Python tkinter對齊單選按鈕west

我的整個代碼使用網格,而不是包裝,我寧願不改變它。

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

謝謝布萊恩。錨在我的例子中的.grid()方法,因爲我只是^ c^v我正在搞的東西。我的錯 – WRJ