Python tkinter在框架中插入小部件
我正在尝试做以下布局 但是ID:label和输入框在中间偏左,然后在中间偏右,它们应该彼此相邻,并且它们一直被网格隔开 我还尝试使用for循环来创建数字键盘,但我不确定如何在循环之外创建一个新变量,并在创建按钮的循环中增加1Python tkinter在框架中插入小部件,python,tkinter,Python,Tkinter,我正在尝试做以下布局 但是ID:label和输入框在中间偏左,然后在中间偏右,它们应该彼此相邻,并且它们一直被网格隔开 我还尝试使用for循环来创建数字键盘,但我不确定如何在循环之外创建一个新变量,并在创建按钮的循环中增加1 from tkinter import * window = Tk() #BOTTOM FRAME SECTION bottomframe = Frame(window,bg="cyan", width =900, height = 100) bottomframe
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()
欢迎任何帮助好的,我试了一下。我玩了一会儿
框架
对象。我删除了一个,那是不需要的。我引入了topframe2
,以便label2
和entry1
可以在同一行中
仔细观察各种条目和标签的父项。并非所有对象都应将窗口
对象作为直接父对象
我使用的是展开
和填充
参数-这里我基本上应用了我在和上所学的内容
从tkinter导入*
window=Tk()
#底部框架截面
顶部框架=框架(窗户,宽度=900,高度=100)
顶部框架。包装(填充=两侧,侧面=顶部)
label1=标签(顶框,text=“Majestic 12标识符”)
标签1.包装(侧面=顶部,填充=两侧,展开=1)
顶部框架2=框架(顶部框架,宽度=900,高度=100)
顶部框架2.包装(填充=两侧,侧面=顶部)
label2=标签(topframe2,text=“ID”)
标签2.包装(侧面=左侧)
entry1=条目(topframe2)
入口1.pack(侧面=左侧,填充=X,展开=1)
label3=标签(窗口,text=“输入键代码:”)
标签3.包装(侧面=顶部)
#网格段
框架=框架(窗口)
框架包装(填充=两侧,侧面=顶部,展开=1)
n=+1
对于范围(3)中的i:
Grid.rowconfigure(帧,i,权重=1)
Grid.columnconfigure(帧,i,权重=1)
对于范围(3)中的i:
b=按钮(框,文本=“%d”%(i+n))
对于范围(3)内的j:
b=按钮(框架,文本=“%d”%(j+1))
b、 网格(行=i,列=j,ipadx=2,ipady=2,padx=2,pady=2,粘性=W+E+N+S)
按钮=按钮(窗口,text=“登录”)
按钮包装(填充=两侧,侧面=底部)
checkbutton=checkbutton(窗口,text=“使用假名?”)
检查按钮。包装(侧面=底部)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
window.mainloop()
请阅读@stovfl,谢谢您的链接。我把它添加到我的答案中。