Вставить виджет tkinter в рамку - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь создать следующий макет макет tkinter , но метка ID: и поле ввода располагаются по центру слева и по центру вправо, когда они должны быть рядом друг с другом, и они продолжают отделяться я также пытаюсь использовать a для l oop, чтобы создать цифровую панель, но я не уверен, как создать новую переменную вне циклов, и увеличить на 1 в l oop, который создает кнопку

from tkinter import *

window = Tk()


#BOTTOM FRAME SECTION

bottomframe = Frame(window,bg="cyan", width =900, height = 100)
bottomframe.pack(fill=BOTH,side=BOTTOM)
button = Button(window,text="LOG IN")
button.pack(fill=BOTH,side=BOTTOM)
checkbutton = Checkbutton(window, text="Use pseudonym?")
checkbutton.pack(side=BOTTOM)

topframe = Frame(window,bg="red",width =900, height = 100)
topframe.pack(fill=BOTH,side=TOP)
label1 = Label(window, text="Majestic 12 Identifier")
label1.pack(side=TOP)
label2 = Label(window, text="ID")
label2.pack(side=LEFT)
label3 = Label(window,text="Enter keycode:")
label3.pack(side=TOP)
entry1 = Entry(window)
entry1.pack(side=LEFT)

#GRID  SECTION
frame = Frame(window)
frame.pack(fill=BOTH,side=BOTTOM)

n = +1
for i in range(3):
    Grid.rowconfigure(frame,i,weight=1)
    Grid.columnconfigure(frame,i,weight=1)

for i in range(3):
    b = Button(frame, text="%d" % (i+n))
    for j in range(3):
        b = Button(frame, text="%d" % (j+1))
        b.grid(row=i, column=j,ipadx=2,ipady=2,padx=2,pady=2,sticky= W+E+N+S)

window.mainloop()

любая помощь приветствуется

1 Ответ

1 голос
/ 13 апреля 2020

Хорошо, я попробовал. Я немного поиграл с Frame объектами. Я удалил один, который не был нужен. И я ввел topframe2, чтобы label2 и entry1 могли находиться в одной строке.

Внимательно следите за родителями различных записей и ярлыков. Не все должны получить объект window в качестве прямого родителя.

Я использую expand и fill аргументы - здесь я в основном применяю то, что я только что изучил в Текстовое поле не расширяется с рамкой - TKinter и tkinter gui макет с использованием рам и сетки

from tkinter import *

window = Tk()

# BOTTOM FRAME SECTION

topframe = Frame(window, width=900, height=100)
topframe.pack(fill=BOTH, side=TOP)

label1 = Label(topframe, text="Majestic 12 Identifier")
label1.pack(side=TOP, fill=BOTH, expand=1)

topframe2 = Frame(topframe, width=900, height=100)
topframe2.pack(fill=BOTH, side=TOP)

label2 = Label(topframe2, text="ID")
label2.pack(side=LEFT)

entry1 = Entry(topframe2)
entry1.pack(side=LEFT, fill=X, expand=1)

label3 = Label(window, text="Enter keycode:")
label3.pack(side=TOP)

# GRID SECTION
frame = Frame(window)
frame.pack(fill=BOTH, side=TOP, expand=1)

n = +1
for i in range(3):
    Grid.rowconfigure(frame, i, weight=1)
    Grid.columnconfigure(frame, i, weight=1)

for i in range(3):
    b = Button(frame, text="%d" % (i + n))
    for j in range(3):
        b = Button(frame, text="%d" % (j + 1))
        b.grid(row=i, column=j, ipadx=2, ipady=2, padx=2, pady=2, sticky=W + E + N + S)

button = Button(window, text="LOG IN")
button.pack(fill=BOTH, side=BOTTOM)

checkbutton = Checkbutton(window, text="Use pseudonym?")
checkbutton.pack(side=BOTTOM)

if __name__ == '__main__':
    window.mainloop()



Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...