精华内容
下载资源
问答
  • tkinterButton组件

    千次阅读 2020-05-29 16:01:05
    Button是一个标准的tkinter组件,用于实现各种各样的按钮。 Button可以包含文本或图像,您可以将Python函数或方法与每个按钮相关联。当按下按钮时,tkinter会自动调用该函数或方法。 虽然按钮只能显示单一字体的文本...

    Button

    Button是一个标准的tkinter组件,用于实现各种各样的按钮。
    Button可以包含文本或图像,您可以将Python函数或方法与每个按钮相关联。当按下按钮时,tkinter会自动调用该函数或方法。
    虽然按钮只能显示单一字体的文本,但文本可以多行显示。
    此外,其中的字符可以加下划线,例如标记键盘快捷键。
    默认情况下,可以使用Tab键移动到按钮。

    普通按钮使用起来非常简单。
    您所要做的就是指定按钮的内容(文本、位图或图像)以及按下按钮时要调用的函数或方法。没有回调的按钮是没有灵魂的

    from tkinter import *
    
    master = Tk()
    
    
    def callback():
        print ("click!")
    
    
    b = Button(master, text="OK", command=callback)
    b.pack()
    
    mainloop()
    

    当您在开发应用程序时,很想使用按钮,那就可以先将其禁用。以避免混淆。

    b = Button(master, text="Help", state=DISABLED)
    

    如果没有指定按钮大小,那按钮的大小就会自动调整到刚好可以容纳其内容。您可以使用padx和pady选项在内容和按钮边界之间添加额外的空间。 以像素为单位。

    b = Button(master, text="OK", command=callback, padx=5, pady=5)
    

    您还可以使用height和width选项来准确地设置大小。
    如果在按钮中显示文本,这些选项以文本单位定义按钮的大小。

    b = Button(master, text="OK", command=callback, height=2, width=3)
    

    如果显示位图或图像,它们以像素为单位定义大小

    pfile = PhotoImage(file='pikapi.gif')
    b = Button(master, image=pfile, command=callback)
    b.pack()
    

    在这里插入图片描述
    您甚至可以用像素单位为文本按钮指定大小,但这需要一些技巧

    f = Frame(master, height=32, width=32)
    f.pack_propagate(0)
    f.pack()
    
    b = Button(f, text="Sure!", command=callback)
    b.pack(fill=BOTH, expand=1)
    

    按钮可以显示多行文本(但只能显示一种字体)。
    您可以使用换行,或者使用wraplength选项让按钮自动换行。
    在包装文本时,使用anchor、justify选项(可能还有padx选项),以实现需求。

    longtext = 'sljdflsjfoiewifojgojgojfgsodjfgowfdsgdfgfdgdfgdfgsd'
    b = Button(master, text=longtext, anchor=W, justify=LEFT, padx=2, wraplength=100)
    b.pack()
    

    让普通的按钮看起来像是按下的,可以简单地将relief从RAISED改为SUNKEN

    b = Button(master, text='OK', height=2, width=3)
    b.config(relief=SUNKEN)
    b.pack()
    

    甚至您可以将图像和文本在同一按钮中显示

    pattern = PhotoImage(file='pikapi.gif')
    b = Button(master, text="Click me", image=pattern, compound=CENTER)
    b.pack()
    

    方法详解

    1. activebackground=

    设置点击按钮时按钮的背景色

    b = Button(master, text="Click me")
    b.config(activebackground='blue')
    b.pack()
    

    2. activeforeground=

    设置点击按钮时按钮的前景色,即文本颜色

    b = Button(master, text="Click me")
    b.config(activeforeground='blue')
    b.pack()
    

    3. anchor=

    控制按钮中文本(或图像)的位置。可选项有N, NE, E, SE, S, SW, W, NW, or CENTER。默认为CENTRE。

    b = Button(master, text="Click me", height=20)
    b.config(anchor=N)
    b.pack()
    

    4. background= / bg=

    b = Button(master, text="Click me")
    b.config(bg='yellow')
    b.pack()
    

    5. borderwidth= / bd=

    按钮边框的宽度。默认通常是1或2像素。

    b = Button(master, text="Click me")
    b.config(bd=5)
    b.pack()
    

    6. cursor=

    当鼠标移到按钮上时显示的光标。

    b = Button(master, text="Click me")
    b.config(cursor='star')
    b.pack()
    

    7. disabledforeground=

    禁用按钮时使用的颜色。

    b = Button(master, text="Click me", state=DISABLED)
    b.config(disabledforeground='gray')
    b.pack()
    

    8. font=

    按钮中使用的字体。该按钮只能包含单一字体的文本。

    b = Button(master, text="宋体")
    b.config(font='宋体')
    b.pack()
    

    9. foreground= / fg=

    用于文本和位图内容的颜色。

    b = Button(master, text="宋体")
    b.config(foreground='red')
    b.pack()
    

    10. highlightcolor=

    当按钮有焦点时用于突出显示边框的颜色。

    11. highlightbackground=

    当按钮没有焦点时用于突出显示边框的颜色。

    12. highlightthickness=

    突出显示边框的宽度。

    13. justify=

    定义如何对齐多行文本。可选项有LEFT,RIGHT和CENTRE。

    14. overrelief=

    当鼠标移动到组件上时,可以使用其他的relief。

    b = Button(master, text="宋体")
    b.config(overrelief=SUNKEN)
    b.pack()
    

    15. relief=

    边框装饰。可选项有SUNKEN,RAISED,GROOVE,RIDGE,FLAT。

    16. state=

    按钮的状态:ACTIVE,DISABLE或NORMAL

    17. takefocus=

    指示用户可以使用Tab键移动到此按钮。

    18. textvariable=

    将tkinter变量(通常是StringVar)关联到按钮。如果变量被更改,按钮文本将被更新。

    19. underline=

    在文本标签中划线。默认值是-1,这意味着没有任何字符被下划线。

    20. flash()

    Flash按钮。此方法多次重新绘制按钮,在活动外观和正常外观之间切换。

    21. invoke()

    调用与按钮相关联的命令。

    展开全文
  • 主要介绍了关于Python Tkinter Button控件command传参问题的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • tkinter-button详解

    2020-07-03 09:25:58
    本文介绍tkinterbutton控件。通常按钮的作用就是用来点击,然后完成相应的动作。那么怎样表示按钮的作用以及对应的动作呢?本文将详细介绍。 文章目录按钮(button)按钮的属性...

    本文介绍tkinter的button控件。通常按钮的作用就是用来点击,然后完成相应的动作。那么怎样表示按钮的作用以及对应的动作呢?本文将详细介绍。

    按钮(button)

    在tkinter中,button的定义如下:

    Button(master=None, cnf={}, **kw)

    按钮的属性

    text

    指定按钮上的文字

    from tkinter import Tk,Button
    
    main_win = Tk()
    main_win.title('渔道的按钮')
    width = 450 
    height = 450 
    main_win.geometry(f'{width}x{height}')
    
    text = "点我"
    Button(main_win, text=text).pack()
    
    main_win.mainloop()
    

    button_text

    font

    指定按钮上文字的字体

    text = "点我"
    font=("Courier", 20, "bold")
    Button(main_win, text=text, font=font).pack()
    

    button_font

    width

    指定按钮的宽度。如果按钮上显示的是文字,则以字符个数为宽度单位;如果按钮上显示的是图片,则以像素为宽度单位

    height

    指定按钮的高度。如果按钮上显示的是文字,则以字符个数为高度单位;如果按钮上显示的是图片,则以像素为高度单位

    text = "点我"
    Button(main_win, text=text, width=20, height=10).pack()
    

    button_width_height

    anchor

    锚点,用来指定文本或图像在label显示区的显示位置。默认值是"center",可设置的值为’n’, ‘ne’, ‘e’, ‘se’, ‘s’, ‘sw’, ‘w’, ‘nw’; ‘e’、‘w’、‘s’、'n’分别表示东西南北。

    # 这里我们将按钮的宽和高设置为40和10,anchor为'se'
    # 最终的显示效果是 '点我'在按钮的东南方,也就是右下角;
    Button(main_win, anchor='se', width=40, height=10, bg='white', text='点我').pack()
    

    button_anchor

    image

    指定在按钮上显示的图片

    png = PhotoImage(file='qq.png')
    Button(main_win, image=png).pack()
    

    注意,生成的是一个带图片的按钮。

    button_image

    如果,text和image属性都指定了,将会显示什么呢?按钮将会仅显示图片

    png = PhotoImage(file='qq.png')
    text = 'hello'
    Button(main_win, image=png, text=text, fg='red').pack()
    

    compound

    使按钮中 文字和图片都可以显示. text和image的位置是相对于image的.例如,compound为bottom,就是text在上,image在下.

    main_win.geometry(f'{800}x{800}')
    png = PhotoImage(file='button.png')
    text = '渔道的按钮'
    fg='blue'
    Button(main_win, compound='bottom', image=png, text=text, fg=fg).pack()
    Button(main_win, compound='top', image=png, text=text, fg=fg).pack()
    Button(main_win, compound='center', image=png, text=text, fg=fg).pack()
    Button(main_win, compound='left', image=png, text=text, fg=fg).pack()
    Button(main_win, compound='right', image=png, text=text, fg=fg).pack()
    

    button_text_image

    bitmap

    bitmap属性也是用来显示图片。但是有点儿特殊,它是用来显示位图。它有两种显示来源。一种是tkinter内置的位图;一种是用户指定图片。

    # 显示tkinter内置的位图
    bitmap_list = ['error', 'hourglass', 'questhead', 'info',
                    'question', 'warning', 'gray12', 'gray50', 
                    'gray75']
    for bitmap in bitmap_list:
        Button(main_win, bitmap=bitmap).pack()
    

    button_bitmap_internel

    bitmap属性的值是字符串,字符串值只有两种,一种就是前面使用的内置位图的字符串,另一种是使用 @+xbm后缀的文件名。

    重点:仅支持xbm格式且xbm的路径要使用@开头

    from PIL import Image
    xbm = 'qq.xbm'
    # 将qq.png转换位单通道的qq.xbm图片
    Image.open('qq.png').convert("1").save(xbm)
    Button(main_win, bitmap='@'+xbm).pack()
    

    button_bitmap_externel

    backgroud\bg

    指定按钮背景颜色

    foreground\fg

    指定按钮前景颜色,即文字的颜色

    text = "点我"
    Button(main_win, fg='white', bg='black', text=text).pack()
    

    button_fg_bg

    cursor

    指定鼠标在按钮上时的显示样式,样式的值是’arrow’, ‘watch’, ‘cross’

    Button(main_win, cursor="cross", width=40, height=10, text='点我', anchor='ne').pack()
    

    由于不能将鼠标截图,这里就不展示了,可自行运行程序观察。

    borderwidth\bd

    指定按钮边框宽度

    padx

    指定水平方向上按钮内容和边框的间距

    pady

    指定垂直方向上按钮内容和边框的间距

    main_win.geometry(f'{800}x{800}')
    fg = 'white'
    bg = 'black'
    text = '点我'
    w = 20
    h = 10
    Button(main_win, text=text, fg=fg, background=bg).pack()
    Button(main_win, text=text, fg=fg, background=bg,
                    width=w, height=h).pack()
    # borderwidth
    Button(main_win, text=text, fg=fg, background=bg,
                    width=w, height=h, borderwidth=10).pack()
    # padx pady
    Button(main_win, text=text, fg=fg, background=bg,
                    width=w, height=h, borderwidth=10,
                    padx = 10, pady = 10).pack()
    
    main_win.mainloop()
    

    button_padx_pady_bd

    上面例子的显示结果可以看出,如果设置bd、padx、pady,按钮会相应变大.

    relief

    指定边框样式,默认样式为’flat’,样式的种类有:‘flat’, ‘groove’, ‘raised’, ‘ridge’, ‘solid’, ‘sunken’

    如果bd的宽度变大,relief显示的边框也会跟着变大。

    main_win.geometry(f'{600}x{800}')
    relief_list = ['flat', 'groove', 'raised', 'ridge', 'solid', 'sunken']
    
    for relief in relief_list:
        Button(main_win, text="点我", fg='red', background="green",
                    width = 10, height=5, borderwidth=10, 
                    padx=10, pady=10, relief=relief).pack()
    

    button_relief

    overrelief

    当鼠标飘过按钮时,按钮的边框的显示样式

    text='点我'
    Button(main_win, text=text, bg='red', bd=5, width=10, height=10, overrelief='groove').pack()
    

    justify

    定义按钮中文字的对齐方式,"left"左对齐,"center"居中,"right"右对齐

    poem = '''
                将进酒
                 李白
    君不见黄河之水天上来,奔流到海不复回。
    君不见高堂明镜悲白发,朝如青丝暮成雪。
    人生得意须尽欢,莫使金樽空对月。
    天生我材必有用,千金散尽还复来。
    烹羊宰牛且为乐,会须一饮三百杯。
    岑夫子,丹丘生,将进酒,杯莫停。
    与君歌一曲,请君为我倾耳听。
    钟鼓馔玉不足贵,但愿长醉不愿醒。
    古来圣贤皆寂寞,惟有饮者留其名。
    陈王昔时宴平乐,斗酒十千恣欢谑。
    主人何为言少钱,径须沽取对君酌。
    五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。
    '''
    main_win.geometry(f'{800}x{800}')
    Button(main_win, text=poem, fg='white', justify="center", background="blue",
                borderwidth=10, 
                padx=10, pady=10, relief='ridge').pack()
    
    Button(main_win, text=poem, fg='white', justify="left", background="blue",
                borderwidth=10, 
                padx=10, pady=10, relief='ridge').pack()
    
    

    button_justify

    state

    指定button的状态,normal(默认)/active/disable

    activebackground

    指定button为active状态时的背景颜色

    activeforeground

    指定button为active状态时的前景颜色

    Button(main_win, text='点我', bg='white', state='active', 
                activeforeground='red', activebackground='green').pack()
    
    Button(main_win, text='点我', bg='white', state='normal', 
                activeforeground='red', activebackground='green').pack()
    

    button_acfg_acbg

    disabledforeground

    当button的状态为DISABLE时,文字的显示颜色

    Button(main_win, text='点我', bg='white', state='disable', 
                disabledforeground='red', activebackground='green').pack()
    
    Button(main_win, text='点我', bg='white', state='normal', 
                activeforeground='red', activebackground='green').pack()
    

    button_disabledfg

    command

    指定按钮被点击时调用的函数。按钮非常重要的属性,提升人机交互体验。

    def click_cb():
        messagebox.showinfo("title", "我是渔道")
    Button(main_win, command=click_cb, text='点我', bg='white').pack()
    

    鼠标点击 "点我"按钮后,会弹出一个对话框,如下图所示:

    button_command

    textvariable

    显示 StringVar变量的内容,作用是可以动态的更新label显示的内容。

    def click_cb(text_var):
        text_var.set("好坏哦")
    
    text_var = StringVar() 
    text_var.set("点我")
    
    Button(main_win, command=lambda : click_cb(text_var), bg='white', textvariable=text_var).pack()
    

    button_textvariable

    当点击"点我"按钮后,按钮上的文字变成了"好坏哦"。可运行程序感受一下简单的动态交互效果.

    button_textvariable2

    repeatdelay

    重复延迟

    表示点击按钮后,延迟repeatdelay(ms),做出相应动作.

    def click_cb():
        print("xxx")
    
    text_var = StringVar() 
    text_var.set("点我")
    
    # 点击按钮,即刻执行click_cb()
    # Button(main_win, command=click_cb, bg='white', textvariable=text_var).pack()
    Button(main_win, repeatdelay=1000, command=click_cb, bg='white', textvariable=text_var).pack()
    # 点击按钮,延迟1秒 执行click_cb()
    

    repeatinterval

    重复间隔

    repeatinterval需要和repeatdelay一起使用才能凑效.作用就是长按按钮时,间隔repeatinterval(ms),执行相应动作.

    def click_cb():
        print("xxx")
    
    text_var = StringVar() 
    text_var.set("点我")
    
    # 长按按钮,间隔300ms,执行一次click_cb()
    Button(main_win, repeatdelay=1000, repeatinterval=300, command=click_cb, bg='white', textvariable=text_var).pack()
    

    button的属性就先介绍到这里,如果以后有新的发现,继续追加!

    展开全文
  • def songpy97(index): ... nB=Button(root,text=str(index+1),\ command=lambda index=index: songpy97(index),takefocus=True) nB.grid(column=index%4,row=index//4,padx=40,pady=10) buts.append(nB)
    def songpy97(index):
    	print(index)
    	
    buts=[]
    
    for index in range(16):    
    	nB=Button(root,text=str(index+1),\
    			command=lambda index=index: songpy97(index),takefocus=True)
        nB.grid(column=index%4,row=index//4,padx=40,pady=10)  
        buts.append(nB)
    
    展开全文
  • Tkinter教程之Button

    万次阅读 多人点赞 2016-07-08 11:27:23
    文章转载自:... # Tkinter教程之Button篇(1) # Button功能触发事件 '''1.一个简单的Button应用''' from tkinter import * # 定义Button的回调函数 def helloButton(): print('hello

    文章转载自:http://blog.csdn.net/jcodeer/article/details/1811298


    # Tkinter教程之Button篇(1)
    # Button功能触发事件
    '''1.一个简单的Button应用'''
    from tkinter import *
    
    
    # 定义Button的回调函数
    def helloButton():
        print('hello button')
    
    
    root = Tk()
    # 通过command属性来指定Button的回调函数
    Button(root, text='Hello Button', command=helloButton).pack()
    root.mainloop()
    
    '''
    执行的结果:每次点击一次,程序向标准输出打印'hello button',以上为Button使用方法,可以
    再做一下简化,如不设置Button的回调函数,这样也是允许的但这样的结果与Label没有什么太
    大的区别,只是外观看起来有所不同罢了,失去了Button的作用。
    from Tkinter import *
    root = Tk()
    #下面的relief = FLAT设置,就是一个Label了!!!
    Button(root,text = 'hello button',relief=FLAT).pack()
    root.mainloop()
    '''
    

    '''2.测试Button的relief属性'''
    # 运行下面的代码可以看到Button的各个不同效果,均没有回调函数。
    from tkinter import *
    
    root = Tk()
    # flat, groove, raised, ridge, solid, or sunken
    Button(root, text='hello button', relief=FLAT).pack()
    Button(root, text='hello button', relief=GROOVE).pack()
    Button(root, text='hello button', relief=RAISED).pack()
    Button(root, text='hello button', relief=RIDGE).pack()
    Button(root, text='hello button', relief=SOLID).pack()
    Button(root, text='hello button', relief=SUNKEN).pack()
    
    root.mainloop()
    
    '''
    Button显示图像
    image:可以使用gif图像,图像的加载方法img = PhotoImage(root,file = filepath
    bitmap:使用X11 格式的bitmap,Windows的Bitmap没法显示的,在Windows下使用GIMP2.4将windows
    Bitmap转换为xbm文件,依旧无法使用.linux下的X11 bitmap编辑器生成的bitmap还没有测试,但可
    以使用内置的位图。
    (1).使用位图文件
    bp = BitmapImage(file = "c:/python2.xbm")
    Button(root,bitmap = bp).pack()
    (2).使用位图数据
    BITMAP = """
    #define im_width 32
    #define im_height 32
    static char im_bits[] = {
    0xaf,0x6d,0xeb,0xd6,0x55,0xdb,0xb6,0x2f,
    0xaf,0xaa,0x6a,0x6d,0x55,0x7b,0xd7,0x1b,
    0xad,0xd6,0xb5,0xae,0xad,0x55,0x6f,0x05,
    0xad,0xba,0xab,0xd6,0xaa,0xd5,0x5f,0x93,
    0xad,0x76,0x7d,0x67,0x5a,0xd5,0xd7,0xa3,
    0xad,0xbd,0xfe,0xea,0x5a,0xab,0x69,0xb3,
    0xad,0x55,0xde,0xd8,0x2e,0x2b,0xb5,0x6a,
    0x69,0x4b,0x3f,0xb4,0x9e,0x92,0xb5,0xed,
    0xd5,0xca,0x9c,0xb4,0x5a,0xa1,0x2a,0x6d,
    0xad,0x6c,0x5f,0xda,0x2c,0x91,0xbb,0xf6,
    0xad,0xaa,0x96,0xaa,0x5a,0xca,0x9d,0xfe,
    0x2c,0xa5,0x2a,0xd3,0x9a,0x8a,0x4f,0xfd,
    0x2c,0x25,0x4a,0x6b,0x4d,0x45,0x9f,0xba,
    0x1a,0xaa,0x7a,0xb5,0xaa,0x44,0x6b,0x5b,
    0x1a,0x55,0xfd,0x5e,0x4e,0xa2,0x6b,0x59,
    0x9a,0xa4,0xde,0x4a,0x4a,0xd2,0xf5,0xaa
    };
    """
    使用tuple数据来创建图像
    bmp = BitmapImage(data = BITMAP)
    Button(root,bitmap = bmp)
    '''
    

    '''3.与Label一样,Button也可以同时显示文本与图像,使用属性compound'''
    from tkinter import *
    
    root = Tk()
    # 图像居下,居上,居右,居左,文字位于图像之上
    Button(root, text='botton', compound='bottom', bitmap='error').pack()
    Button(root, text='top', compound='top', bitmap='error').pack()
    Button(root, text='right', compound='right', bitmap='error').pack()
    Button(root, text='left', compound='left', bitmap='error').pack()
    Button(root, text='center', compound='center', bitmap='error').pack()
    # 消息循环
    root.mainloop()
    

    '''4.控件焦点问题
    创建三个Button,各自对应回调函数;将第二个Button设置焦点,程序运行是按“Enter”,判断
    程序的打印结果
    '''
    from tkinter import *
    
    
    def cb1():
        print('button1 clicked')
    
    
    def printEventInfo(event):
        print('event.time = ', event.time)
        print('event.type = ', event.type)
        print('event.WidgetId = ', event.widget)
        print('event.KeySymbol = ', event.keysym)
    
    
    def cb3():
        print('button3 clicked')
    
    
    root = Tk()
    
    b1 = Button(root, text='Button1', command=cb1)
    b2 = Button(root, text='Button2')
    b2.bind("<Enter>", printEventInfo)
    b3 = Button(root, text='Button3', command=cb3)
    b1.pack()
    b2.pack()
    b3.pack()
    
    b2.focus_set()
    root.mainloop()
    '''
    上例中使用了bind方法,它建立事件与回调函数(响应函数)之间的关系,每当产生<Enter>事件
    后,程序便自动的调用cb2,与cb1,cb3不同的是,它本身还带有一个参数----event,这个参数传递
    响应事件的信息。
    '''
    

    '''5.指定Button的宽度与高度
    width:    宽度
    heigth:    高度
    使用三种方式:
    1.创建Button对象时,指定宽度与高度
    2.使用属性width和height来指定宽度与高度
    3.使用configure方法来指定宽度与高度
    '''
    from tkinter import *
    
    root = Tk()
    b1 = Button(root, text='30X1', width=30, height=2)
    b1.pack()
    
    b2 = Button(root, text='30X2')
    b2['width'] = 30
    b2['height'] = 3
    b2.pack()
    
    b3 = Button(root, text='30X3')
    b3.configure(width=30, height=3)
    b3.pack()
    
    root.mainloop()
    # 上述的三种方法同样也适合其他的控件
    

    '''6.设置Button文本在控件上的显示位置
    anchor:
    使用的值为:n(north),s(south),w(west),e(east)和ne,nw,se,sw,就是地图上的标识位置了,使用
    width和height属性是为了显示各个属性的不同。
    '''
    from tkinter import *
    
    root = Tk()
    
    # 简单就是美!
    for a in ['n', 's', 'e', 'w', 'ne', 'nw', 'se', 'sw']:
        Button(root,
               text='anchor',
               anchor=a,
               width=30,
               height=4).pack()
    # 如果看的不习惯,就使用下面的代码。
    # Button(root,text = 'anchor',width = 30,height =4).pack()
    # Button(root,text = 'anchor',anchor = 'center',width = 30,height =4).pack()
    # Button(root,text = 'anchor',anchor = 'n',width = 30,height = 4).pack()
    # Button(root,text = 'anchor',anchor = 's',width = 30,height = 4).pack()
    # Button(root,text = 'anchor',anchor = 'e',width = 30,height = 4).pack()
    # Button(root,text = 'anchor',anchor = 'w',width = 30,height = 4).pack()
    # Button(root,text = 'anchor',anchor = 'ne',width = 30,height = 4).pack()
    # Button(root,text = 'anchor',anchor = 'nw',width = 30,height = 4).pack()
    # Button(root,text = 'anchor',anchor = 'se',width = 30,height = 4).pack()
    # Button(root,text = 'anchor',anchor = 'sw',width = 30,height = 4).pack()
    
    root.mainloop()
    

    '''7.改变Button的前景色与背景色
    fg:    前景色
    bg:背景色
    '''
    from tkinter import *
    
    root = Tk()
    bfg = Button(root, text='change foreground', fg='red')
    bfg.pack()
    
    bbg = Button(root, text='change backgroud', bg='blue')
    bbg.pack()
    
    '''8.设置Button的边框
    bd(bordwidth):缺省为1或2个像素
    '''
    # 创建5个Button边框宽度依次为:0,2,4,6,8
    for b in [0, 1, 2, 3, 4]:
        Button(root,
               text=str(b),
               bd=b).pack()
    '''9.设置Button的风格
    relief/raised/sunken/groove/ridge
    '''
    for r in ['raised','sunken','groove','ridge']:
        Button(root,
        text = r,
        relief = r,
        width = 30).pack()
    
    
    '''10.设置Button状态
    normal/active/disabled
    '''
    def statePrint():
        print('state')
    for r in ['normal','active','disabled']:
        Button(root,
        text = r,
        state = r,
        width = 30,
        command = statePrint).pack()
    
    #例子中将三个Button在回调函数都设置为statePrint,运行程序只有normal和active激活了回调函数,而disable按钮则没有,对于暂时不
    #需要按钮起作用时,可以将它的state设置为disabled属性
    root.mainloop()
    

    '''11.绑定Button与变量
    设置Button在textvariable属性
    '''
    from tkinter import *
    
    root = Tk()
    
    
    def changeText():
        if b['text'] == 'text':
            v.set('change')
            print('change')
        else:
            v.set('text')
            print('text')
    
    
    v = StringVar()
    b = Button(root, textvariable=v, command=changeText)
    v.set('text')
    b.pack()
    root.mainloop()
    
    '''
    将变量v与Button绑定,当v值变化时,Button显示的文本也随之变化
    '''
    


    展开全文
  • Tkinter 组件详解(二):Button

    万次阅读 多人点赞 2018-12-19 08:16:45
    Tkinter 组件详解之Button 简介 Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。 ...
  • #Button的宽度与高度 ''' width:宽度 height:高度 ''' def show_b1(): print('b1 press') def show_b2(): print('b2 press') def show_b3(): print('b3 press') from tkinter import * root...
  • Tkinter:改变Button控件状态

    千次阅读 2020-09-27 11:49:26
    ButtonTkinter 按钮组件用于在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。 本次主要介绍Button控件被点击后...
  • tkinter

    千次阅读 2019-08-11 16:06:18
    import tkinter as tk from tkinter import Label, END, Entry, Text, Button from tkinter import * class Mytkinter(object): def __init__(self): self.on=False self.wd=tk.Tk() ...
  • 用python tkinter编程的时候 先定义了一个数组List 然后有 root=tk.Tk() ............ img=drawImage(List) tk.label(root, image=img).pack() tk.Button(root, text=List, command=lambda:changeList(List)).pack()...
  • import tkinter as tk import requests import re window = tk.Tk() window.title('获取破解码') window.geometry('500x300') var = tk.StringVar() # lb = tk.Label(window, textvariable=va...
  • 在使用tkinter 中组件显示图片过程中,需要加载PIL模块进行图片处理,才能正常显示。 import tkinter import os from PIL import Image,ImageTk class MainForm: def __init__(self): self.root = tkinter.Tk...
  • tkinter教程2:控件Label和Button 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: python版本:3.5 开发环境:pyCharm 源码: Label: import tkinter as tk import threading ...
  • 分类目录——tkinter 先看效果 Radiobutton使用 var1 = tk.StringVar() var1.set('B') # 设置哪一个被默认选中,如果设置值不在可选项中,则全不被选中 r1 = tk.Radiobutton(window, text='Option A',variable=var1...
  • GUI for Python: Tkinter, wxPython, PyQt TKinter: 绑定的是TK GUI工具集,用途Python包装的Tcl代码 PyGTK Tkinter的替代品 wxPython 跨平台的Python GUI PyQt 跨平台的 商业授权可能由问题 推荐...
  • Tkinter打造GUI开发工具(15)Tkinter小部件的Button按钮部件 在Tkinter中,Button按钮部件也会经常用到,这节我们详细讲解Button部件的属性和用法。 Button小部件是一个标准的Tkinter的部件,用于实现各种按钮。...
  • Python Tkinter Button控件command传参问题解决方案

    万次阅读 多人点赞 2018-08-17 18:43:29
    Python Button控件command传参问题解决方案 环境:Ubuntu14、Python3.4、Pycharm2018 一、使用command=lambda: 的形式传参 代码如下 from tkinter import * import tkinter.messagebox as messagebox def ...
  • tkinter.Button(root, text="5", width=3) btn6 = tkinter.Button(root, text="6", width=3) btnx = tkinter.Button(root, text="*", width=3) btnDivision = tkinter.Button(root, text="÷", width=3) btn1 = ...
  • tkinter实用教程三》tkinter Button 控件 tkinter ttk.Button 控件 本文主要介绍 tkinter 中 ttk.Button 控件的简单用法和可选参数列表。 如何在顶层窗口中创建一个 ttk.Button 如下代码在顶层窗口 root 中创建了...
  • Bug如题目所描述。尝试过将按钮的image指向的变量del_icon设置为global全局变量...估计是PhotoImage的生成不能放在tkinter.Frame外进行。代码1是导致bug的源头。 代码1: #!/bin/env python3 from PIL import Im...
  • from tkinter import * def msgShow(): label.config(text="昨天是个好日子",bg="lightyellow",fg="blue") root=Tk() root.title("button的test1") label=Label(root) pic=PhotoImage(file="图标.png") btn=...
  • TkinterButton&Label

    2020-12-22 10:11:07
    TkinterButton&Label import tkinter as tk window = tk.Tk() window.title('my window') #设置窗口的名字 window.geometry('240x173') #设置窗口大小 #创建一个变量var, tk中的特定形式 var = tk.StringVar() #...
  • names['x%s' % t] =tkinter.Button(root, text =new_d,relief="flat",command=lambda:open_url(names['new_url%s' % t])) names['x%s' % t].pack() root.mainloop() ``` 通过动态命名了5个button,然后,...
  • import tkinter as tk # 1.创建一个窗口 window = tk.Tk() # 2.设置窗口属性 window.title("my window") window.geometry('200x200') # 3.窗口(window)的各类组件 # 3.1 entry 输入框 e = tk.Entry(window, ...
  • 文章目录3.窗口控件配置3.1 Widget Layout Manager - pack方法3.2 Widget Layout ...按钮Button 3.窗口控件配置 3.1 Widget Layout Manager - pack方法 pack是最常使用的控件配置管理方法,它是使用相对位置的概念...
  • python Tkinter按钮带参数

    千次阅读 2016-02-21 20:19:05
    fromTkinterimport* defcross(value): text.insert(INSERT,'x') window=Tk() frame=Frame(window) frame.pack() text=Text(frame,height=3,width=10) text.pack() button=Button(frame,t...
  • python-Tkinter按钮触发事件(三)

    万次阅读 2018-06-01 14:46:05
    python-Tkinter按钮触发事件(三) 更多原创性能测试文章关注 十年性能测试专家&7DGroup公众号 一、图文并茂 from tkinter import * ''' 实现图文并茂,上面的textLabel组件设置文本格式的。下面imgLabel...
  • Tkinter学习-Button

    千次阅读 2018-07-06 16:47:29
    The Tkinter Button WidgetButton(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。 Button ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,591
精华内容 6,236
关键字:

buttontkinter