2013-07-12 6 views
0

у меня есть этот код, и ярлык, который я сделать не появляется, где я хочу это, он просто появляется в 0,0 положении пожалуйста исправить Вот мой код:Tkinter не будет работать

from tkinter import * 

class Application(Frame): 
    def __init__(self, master): 
     super(Application, self).__init__(master) 
     self.grid() 
     self.create_widgets() 

    def create_widgets(self): 
     self.sumbit_lbl = Label(self, text = "Does this work?") 
     self.sumbit_lbl.grid(row = 2, column = 3) 



root = Tk() 
root.title("Does this work?") 
root.geometry("200x200") 

app = Application(root) 

root.mainloop() 

ответ

0

Что вы ожидаете увидеть в строках 0 и 1, а столбцы 0, 1 и 2? Вы ничего не вкладывали в них, поэтому они имеют ширину и высоту ноль.

Другими словами, он работает должным образом. Чтобы строка или столбец были видимыми, для нее требуется либо указатель minsize, либо что-то в строке или столбце. Есть еще несколько способов сделать это видимым, но все это сводится к тому, что вы должны явно размещать пустые строки или столбцы для видимости.

Если вы хотите убедиться, что ваш виджет действительно указан в указанной строке и столбце, вы можете указать все ваши пустые строки и столбцы минимального размера. Например, добавьте это в конструкторе:

for row in range(4): 
    self.grid_rowconfigure(row, minsize=8) 
    for col in range(4): 
     self.grid_columnconfigure(col, minsize=8) 
+0

я не понимаю, я использовал метод сетки поместить кнопку в этом положении – user2525477

+0

@ user2525477: виджет _is_ в строке 2, столбец 3. Проблема заключается в том, строка 0 и строка 1 имеет нулевую высоту, поэтому они невидимы. Кроме того, столбцы 0, 1 и 2 имеют нулевую ширину, поэтому они также невидимы. –

+0

О, ладно, спасибо, что помогли – user2525477

Смежные вопросы