Tkinter教程之OptionMenu篇

本文介绍如何在Python的Tkinter库中使用OptionMenu组件,包括创建OptionMenu、设置显示值、打印选中值及使用列表作为选项等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'''Tkinter教程之OptionMenu篇'''
#OptionMenu为可选菜单,与Combox功能类似。
'''1.创建OptionMenu'''
# -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
= StringVar(root)
v.set(
'Python')
om 
= OptionMenu(root,v,'Python','PHP','CPP','C','Java','JavaScript','VBScript')
om.pack()

root.mainloop()
#显示的文本自动断行,上下行分别使用了左对齐,右对齐和居中对齐
#
 -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
= StringVar(root)
#创建一个OptionMenu控件
om = OptionMenu(root,
                v,
                
'Python',
                
'PHP',
                
'CPP',
                
'C',
                
'Java',
                
'JavaScript',
                
'VBScript'
                )
om.pack()

root.mainloop()
#OptionMenu的创建需要两个必要的参数,与当前值绑定的变量,通常为一StringVar类型;另一
#
个是提供可选的内容列表,由OptionMenu的变参数指定。

'''2.设置OptionMenu的显示值'''
#当OptionMenu与变量绑定后,直接使用变量赋值的方法即可改变当前的值
#
 -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
= StringVar(root)
v.set(
'VBScript')
#创建一个OptionMenu控件
om = OptionMenu(root,
                v,
                
'Python',
                
'PHP',
                
'CPP',
                
'C',
                
'Java',
                
'JavaScript',
                
'VBScript'
                )
om.pack()
print v.get()

root.mainloop()
#运行程序,OptionMenu默认值为"VBScript",打印出的数值也为"VBScript"
#
如果设置的值不包含在当前的列表中,会是什么结果?如下的代码使用"Tkinter"来测试
#
 -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
= StringVar(root)
v.set(
'Tkinter')
#创建一个OptionMenu控件
om = OptionMenu(root,
                v,
                
'Python',
                
'PHP',
                
'CPP',
                
'C',
                
'Java',
                
'JavaScript',
                
'VBScript'
                )
om.pack()
print v.get()

root.mainloop()
#程序依旧是默认值改变为Tkinter,打印结果也变为Tkinter,但Tkinter不会添加到OptionMenu的列表中,也就是说,当选择其它的选项时,Tkinter的值会丢失。
'''3.打印OptionMenu的值'''
# -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
= StringVar(root)
v.set(
'Tkinter')
def printOption(event):
    
print v.get()
#创建一个OptionMenu控件
om = OptionMenu(root,
                v,
                
'Python',
                
'PHP',
                
'CPP',
                
'C',
                
'Java',
                
'JavaScript',
                
'VBScript'
                )
om.bind(
'<Button-1>',printOption)
om.pack()

root.mainloop()
#每次点击OptionMenu程序打印出上次选中的项值
'''4.使用list作为OptionMenu的选项'''
# -*- coding: cp936 -*-
from Tkinter import *
root 
= Tk()
Lang 
= ['Python','PHP','CPP','C','Java','JavaScript','VBScript']
= StringVar(root)
v.set(
'Tkinter')
def printOption(event):
    
print v.get()
#创建一个OptionMenu控件,使用了apply函数
om = apply(OptionMenu,(root,v) + tuple(Lang))
om.bind(
'<Button-1>',printOption)
om.pack()

root.mainloop()

#author:     jcodeer
#
blog:    jcodeer.cublog.cn
#
email:    jcodeer@126.com
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值