zoukankan      html  css  js  c++  java
  • GUI篇 tkinter (Label,Button)之一

    import tkinter
    from tkinter import *

    # tkinter._test()

    # 实例化一个窗口对象
    base = tkinter.Tk()
    # 修改窗口的标题
    base.wm_title("窗口")

    # 组件的使用

    """
    # Label 组件
    # 组件的使用都是相似的,在实例化这些组件的时候,第一个参数都是父窗口或者父组件,后面跟着的就是该组件的一些属性。
    # 比如:Label 的 text 属性和 background 属性
    w1 = Label(base,text = "跟着星哥一起学tkingter", background= "green")
    w2 = Label(base,text = "我爱python,因为它简洁", background= "red")
    w3 = Label(base,text = "开创梦想,从现在做起", background= "yellow")

    # pack方法布局。也可以使用 place 和 grid 来布局管理
    w1.pack()
    w2.pack()
    w3.pack()
    """

    # Button组件


    '''
    绑定方式通常有如下几种:
    第一种,在按钮组件被声明的时候用command属性声明,command属性接受一个函数名,注意函数名不要加双引号。
    第二种,使用bind方法,该方法是Misc这个类的一个方法,
    '''

    # 第一种绑定事件方式
    # 注意command属性后面不要加任何的标点符号
    '''
    def xinLabel():
    global base
    s = Label(base,text="我爱python",background="green")
    s.pack()

    b1 = Button(base,text="按钮",command=xinLabel)
    b1.pack()
    '''

    # 第二种绑定事件方式
    def xinLabel(event):
    global base
    s = Label(base,text="我爱python",background="green")
    s.pack()

    b1 = Button(base,text="按钮")
    # bind 的第一个参数是事件类型,它采用的描述方式是这 样的:<MODIFIER-MODIFIER-TYPE-DETAIL>,这里的
    # MODIFIER 即修饰符,它的全部取值如下:Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4, Button1, B1, Mod5, M5 Button2, B2, Meta, M, Button3,B3, Alt, Button4, B4, Double, Button5, B5 Triple , Mod1, M1 。 而第三个 TYPE 表示类型,它的全部取值如下:Activate, Enter, Map, ButtonPress, Button, Expose, Motion,
    # ButtonRelease,FocusIn, MouseWheel, Circulate, FocusOut, Property, Colormap, Gravity Reparent, Configure, KeyPress, Key, Unmap, Deactivate, KeyRelease Visibility, Destroy,Leave。第三个参数表 示细节,其实也就是对第二个参数的一些辅助说明。
    # 第一个参数可能对刚使用它的人来说有点太复杂了,常见的鼠标左键单击如下:<Button-1>,
    # 也就是我上面的代码中用到的
    # 第二个参数可以是一个函数名,记住,不要加任何的标点符号,否则运行时会报错的。
    # 使用 bind 函数的时候,第二个参数是一个函数名,该函数必须接受一个参数,即表示该事件
    b1.bind("<Button-1>",xinLabel)
    b1.pack()


    # 消息循环
    base.mainloop()
  • 相关阅读:
    Windows上git输错一次密码不在提示输入密码
    JSON Web Token 简介
    Springboot+Shiro+Jwt实现权限管理
    Springboot配置外部容器使用JNDI读取数据源
    Springboot解决Main方法启动无法注入JNDI
    Springboot2.1.6版本部署resin4.0.62
    Java解决多线程无法@Autowired注入,手动获取Bean对象
    Linux设置Vim显示行号
    Linux使用wget后台下载
    排查生产环境CPU过高的问题
  • 原文地址:https://www.cnblogs.com/jerryspace/p/9835745.html
Copyright © 2011-2022 走看看