美文网首页
Python tkinter学习笔记(2)-Button

Python tkinter学习笔记(2)-Button

作者: 阳光下慵懒的驴 | 来源:发表于2016-06-02 16:32 被阅读2916次
    
    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()
    

    相关文章

      网友评论

          本文标题:Python tkinter学习笔记(2)-Button

          本文链接:https://www.haomeiwen.com/subject/vxjkdttx.html