python tk下拉列表_使用TKInter下拉菜单中的选项分配变量-Python 2.7

尝试以下代码.阅读我添加的评论.

from Tkinter import *

import Tkinter as ttk

from ttk import *

root = Tk()

root.title("Age Selector")

mainframe = Frame(root)

mainframe.grid(column=0,row=0, sticky=(N,W,E,S) )

mainframe.columnconfigure(0, weight = 1)

mainframe.rowconfigure(0, weight = 1)

mainframe.pack(pady = 10, padx = 10)

var = StringVar(root)

# Use dictionary to map names to ages.

choices = {

'Bob': '35',

'Garry': '45',

'John': '32',

'Hank': '64',

'Tyrone': '21',

}

option = OptionMenu(mainframe, var, *choices)

var.set('Bob')

option.grid(row = 1, column =1)

Label(mainframe, text="Age").grid(row = 2, column = 1)

age = StringVar()

# Bind age instead of var

age_ent = Entry(mainframe, text=age, width = 15).grid(column = 2, row = 2)

# change_age is called on var change.

def change_age(*args):

age_ = choices[var.get()]

age.set(age_)

# trace the change of var

var.trace('w', change_age)

root.mainloop()

trace(mode, callback) => string

Add a variable observer. Returns the internal name of the observer

(you can use this to unregister the observer; see below).

The mode argument is one of “r” (call observer when variable is read

by someone), “w” (call when variable is written by someone), or “u”

(undefine; call when the variable is deleted).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值