2017-02-17 8 views
0

Он чувствует, что это должно быть легко, но не настолько, насколько я надеюсь. Все, что я хочу сделать, это поместить кнопку в рамку. Мой код окрашивает фрейм, поэтому я могу подтвердить, что кнопка - это то, где я хочу ее поместить, и, как вы можете видеть ниже, мой код не делает то, что я хочу/думаю. Я ожидаю, что мой код поместит переключатель в желтую рамку, а не под нее.Кнопка python tkinter в кадре

from tkinter import * 

class apiMain: 

    def main(self): 
     master=Tk() 

     topframe = Frame(master, bg="Lemon chiffon", width=500, height=50).pack(side = TOP)   

     v = IntVar() 
     crbutton = Radiobutton(topframe, text = "change request", variable = v, value = 'cr') 
     crbutton.pack(side = LEFT, padx = 10)   

     mainloop() 

enter image description here

ответ

2

При назначении topframe так:

topframe = Frame(master, bg="Lemon chiffon", width=500, height=50).pack(side = TOP) 

Вы по существу писать topframe = None, потому что pack() всегда возвращает None. Из-за этого вы назначаете хозяину своего переключателя None, который по умолчанию относится к главному окну. Разделите код вверх, чтобы topframe ссылается на фактический объект рамы:

topframe = Frame(master, bg="Lemon chiffon", width=500, height=50) 
topframe.pack(side = TOP) 
+0

Благодарим за помощь. – efultz