python中grid[pos_如何在pythontkinter中使用grid方法定位标签?

这个博客展示了如何使用Tkinter库创建一个GUI应用,其中包括三列布局,每列都有一个下拉菜单供用户选择不同的十年。通过`columnconfigure`方法设置了列的最小宽度,以确保内容不被压缩。当用户从下拉菜单中选择一个选项时,对应的标签会显示相应十年的信息。应用的界面设计考虑了大标题的显示,使用了`sticky='we'`属性使元素填充单元格的宽度。
摘要由CSDN通过智能技术生成

网格中的默认单元格没有大小。只能使用设置最小大小root.columnconfigure(0, minsize=300)

root.columnconfigure(1, minsize=300)

root.columnconfigure(2, minsize=300)

要创建大标题,可以连接3个单元格

^{pr2}$

您也可以使用sticky='we'使用widget-to-cell-size

网格(…,sticky='we')

w=west/left,e=east/right

工作示例:import tkinter as tk

# - functions -

def fifties(selection):

data = {

"Intro": "1950's intro",

"Political": "1950's politcal",

"Economic": "1950's economic",

"Social": "1950's social",

"Technological": "1950's technological",

"Aesthetic": "1950's aesthetic",

}

if selection in data:

text_1950['text'] = data[selection]

else:

text_1950['text'] = "Unknow selection: " + selection

def sixties(selection):

data = {

"Intro": "1960's intro",

"Political": "1960's politcal",

"Economic": "1960's economic",

"Social": "1960's social",

"Technological": "1960's technological",

"Aesthetic": "1960's aesthetic",

}

if selection in data:

text_1960['text'] = data[selection]

else:

text_1960['text'] = "Unknow selection: " + selection

def seventies(selection):

data = {

"Intro": "1970's intro",

"Political": "1970's politcal",

"Economic": "1970's economic",

"Social": "1970's social",

"Technological": "1970's technological",

"Aesthetic": "1970's aesthetic",

}

if selection in data:

text_1970['text'] = data[selection]

else:

text_1970['text'] = "Unknow selection: " + selection

# - main -

# - init -

root = tk.Tk()

root.configure(bg="turquoise")

root.geometry("900x600")

# - set columns minimal size -

root.columnconfigure(0, minsize=300)

root.columnconfigure(1, minsize=300)

root.columnconfigure(2, minsize=300)

# - header -

lbl = tk.Label(root, text="Pick a Decade", bg="turquoise", fg="hot pink", font=("Times", 40, "bold italic"))

lbl.grid(column=0, row=0, columnspan=3, sticky='we')

# - menus -

options = ["Intro", "Political", "Economic", "Social", "Technological", "Aesthetic"]

var = tk.StringVar(value="1950's")

a = tk.OptionMenu(root, var, *options, command=fifties)

a.grid(column=0, row=2, sticky='we')

var = tk.StringVar(value="1960's")

a = tk.OptionMenu(root, var, *options, command=sixties)

a.grid(column=1, row=2, sticky='we')

var = tk.StringVar(value="1970's")

a = tk.OptionMenu(root, var, *options, command=seventies)

a.grid(column=2, row=2, sticky='we')

# - empty labels for text -

text_1950 = tk.Label(root, bg="turquoise")

text_1950.grid(column=0, row=3)

text_1960 = tk.Label(root, bg="turquoise")

text_1960.grid(column=1, row=3)

text_1970 = tk.Label(root, bg="turquoise")

text_1970.grid(column=2, row=3)

# - start -

root.mainloop()

I4sgQ.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值