Python Tkinter控件之Combobox下拉框如何选中内容并使用

Tk控件之Combobox

​ 首先要明白Combobox — 下拉框是Tk窗口的控件之一,所以一定需要绑定一个窗口;其次,明白下拉框的代码格式;最后,明白如何选中下拉框某一项并且使用其进行后续操作;

1. 绑定窗口
root = Tk.tk()
root.title("")
root.geometry("")
# ... 对窗口进行一些格式的设定

text = tk.StringVar()
Comb = ttk.Combobox(root, textvariable = text)

注:这个text一定放上去,这样后面才能够获取到选中内容

2. 设置下拉框内容
Comb['value'] = ('A', 'B', 'C') #......
# Comb.pack()
Comb.grid(row=1, column=1)
root.mainloop() #mainloop才能使窗口稳定展示

这里的 .pack()方法和.grid()方法都可以使内容展示到窗口上,但是.grid()方法可以调整控件的位置;

而且经过实践,.grid()方法应该只能设置控件的相对位置:

# 如果只有一个控件的时候,无论如何设置,控件的位置都位于左上角
Comb.grid(row=1, column=1)
Comb.grid(row=1, column=2)
Comb.grid(row=1, column=3)
Comb.grid(row=2, column=3)
# 在加入一个Label控件后,控件位置就能随row, column的改变而相应改变了,不过要注意也是相对的
label = tk.Label(root, text='123')
label.grid(row=1,column=2)
Comb.grid(row=2, column=3)
3. 通过Button控件获取下拉框相应值
button = tk.Button(master=root, text='确认', command=get) #command=xxx 这个xxx就是跳转的函数
button.grid(row=3,column=3)
# 函数部分
def get():
    print(text.get()) 

注意:函数种一定要使用.get()方法,不然得到的会是Tk的一种数据类型,无法正常使用

同时,若想直接作为参数传入函数之中,还可以用到lambda表达式:

#主函数部分
button = tk.Button(master=root, text='确认', command=lambda: getlamb(text.get()))

# 函数部分
def getlamb(t):
    print(t)
  • 其实text绑定的不是下拉框选中内容,而是文本框里的内容,所以即使你自己输入字符串到文本框中,其也会正常显示出来
  • 3
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值