from tkinter import *
root = Tk()
'''
事件 BEGIN
'''
# 点击事件
def buttonActioon():
print('Button Action')
# command属性来指定Button的事件处理函数。注意函数后面不带括号
Button(root, text='button', command=buttonActioon).pack()
'''
焦点focus_set: 改变Button的响应方式
在这里把点击事件改为按下键盘的return。(点击事件失效)
'''
# 使用bind 建立处理关系的函数, 需要event参数
def returnClickAction(event):
print('return clicked')
# 可以得到event
print(event.time)
print(event.type)
print(event.widget)
print(event.keysym) # 键盘
# 不能再设置command参数,事件会有冲突
btn1 = Button(root, text='Return')
# bind 建立事件与时间响应函数的关系: 每当按下Return都执行函数
btn1.bind("<Return>", returnClickAction)
# 修改响应方式
btn1.focus_set()
btn1.pack()
'''
绑定Button于变量 textvariable
button的text随着变量的变化而变化
'''
# 根据按钮的标题来切换v的值,按钮的text会随着v改变
def changeText():
# 得到button的标题
if changeTextButton['text'] == 'text':
v.set('change')
else:
v.set('text')
print(v.get())
v = StringVar()
changeTextButton = Button(root, textvariable=v, command=changeText, width=50)
v.set('text')
changeTextButton.pack()
# 状态: (正常)normal (激活)active (禁用)disabled
Button(root, text='Active', state='disabled').pack()
'''
外观 BEGIN
'''
# 设置宽高。如果不是多行,设置高度就没用
# 1.
Button(root, width=30, height=2).pack()
# 2.
btn2 = Button(root, text='HAHA')
btn2['width']=40
btn2['height']=4
btn2.pack()
# 3.
btn3 = Button(root, text='HEHE')
btn3.configure(width=20, height=3)
btn3.pack()
# 显示文本与图像
# compound: 图像相对于文字的位置 top bottom right left error center
# bitmap: 指定位图
Button(root, text='bottom', compound='bottom', bitmap='error').pack()
# Button显示图像
# image:可以使用 gif 图像,图像的加载方法 img = PhotoImage(root,file = filepath)。但是没成功。。。
# bitmap:使用X11 格式的bitmap,格式为xbm,使用bp = BitmapImage(file = "img.xbm")。but,xbm。。。
# relief:指定外观效果 relief/raised/sunken/groove/ridge。但是不管用
Button(root, text='Button', relief='groove').pack()
# 边框 bd,缺省为1个像素。还是不管用
Button(root, text='Button', bd=4).pack()
root.mainloop()
网友评论