Hello TKinter ! 序章

Hello TKinter ! [序章]

同学们好,这一次我们来学习一下Python中的基础库:TKinter.

也是Python中常用的几个GUI界面之一,学习到现在,我们已经对着枯燥的编辑器界面很久了,也该是运用所学知识,创建一个可操作化界面的时候啦~

创建一个基础窗口

  1. 为本窗口起一个名字[程序中的名字,即对象名]:

    # 实例化Tk对象,创建窗口,窗口名为左边对象名
    window_name = tk.Tk()
    
  2. 为窗口起一个标题[前端界面显示的名字,即窗口标题名]:

    # 设置窗口标题
    window_name.title('Mr.Liang')
    
  3. 设置窗口的尺寸:

    # 中间x为小写字母X,左宽度右长度
    window_name.geometry('200x300')
    
  4. 窗口运行:

    # window 会不断的刷新刷新 相当于一个很大的while循环 循环一次就会更新一次数据 所有窗口文件都会有一个类似于 mainloop()这样的方法
    window_name.mainloop()
    

常见界面元素:Label标签和Button按钮

  1. Label标签 , 中文译名 : “标签”

    1. 创建方式:

      # 创建名为"label_name"的标签
      label_name = tk.Label()
      
    2. Label Object参数一览:

      1. 所属窗口:填写需要放进的窗口名即可,此demo中为"window_name"

        label_name = tk.Label(window_name)
        
      2. 标签内所显示文本[text / textvariable]:

        两种方法:

        1. 固定的值:text = ‘文本’

        2. textvariable参数,用于接收变量,使内部的文本可控制进行变化,定义变量的方式如下

          var = tk.StringVar()
          
        # 固定文本
        label_name = tk.Lable(window_name , text = 'this is a Label')
        # 传参 var 为变量名
        label_name = tk.Label(window_name , textvariable = var)
        
      3. 背景颜色[bg]

        label_name = tk.Label(window_name , text = 'this is a label' , bg = 'green')
        
      4. 字体[font]

        label_name = tk.Label(window_name , text = 'this is a label' , bg = 'green' , font = ('Arial',12))
        
      5. 宽,高[width , height]

        # 以字符为单位,比如高为2 则为2个字符的高度
        label_name = tk.Label(window_name , text = 'this is a label' , bg = 'green' , font = ('Arial', 12) , width = 15 , height = 6)
        
    3. Label 标签放置方式[pack]

      label_name.pack()
      
  2. Button标签,中文译名 : “按钮”

    1. 创建方式:

      button_name = tk.Button()
      
    2. Button Object 参数一览:

      1. 所属窗口:填写所属窗口的对象名即可,此demo中为 : window_name

        button_name = tk.Button(window_name)
        
      2. 按钮内所显示文本内容[text / textvariable]

        类似于Label标签,文本参数有两种参数:

        1. text 用来存放固定的值,无法修改

        2. textvariable用来存放变量,变量定义方法为:

          var = tk.StringVar()
          
        # 第一种方式 text
        button_name = tk.Button(window_name , text = 'this is a Button')
        # 第二种方式 textvariable
        button_name = tk.Button(window_name , textvariable = var)
        
      3. 其中"bg" “font” “width” “height” 与 Label 标签用法完全一致

      4. 点击后执行的函数[command]

        # 点击后执行的函数名为 : hit_me() 此方法需要提前定义好
        button_name = tk.Button(window_name,command = hit_me)
        

        函数的定义:

        on_hit = False
        def hit_me():
            global on_hit
        	if on_hit == False:
                on_hit = True
                var.set('you hit me')
            else:
                on_hit = False
                var.set('you not hit me')
        
    3. Button 按钮放置方法[pack]

      button_name.pack()
      

实战代码

import tkinter as tk

window_name = tk.Tk()
window_name.geometry('300x200')

var_label = tk.StringVar()
var_button = tk.StringVar()

label_name = tk.Label(window_name ,  textvariable = var_label , font = ('Arial',12) , bg = 'green' , width = 20 , height = 6)
label_name.pack()

if_hit = False

def hit_me():
    global if_hit
    if if_hit == False:
        var_label.set('you hit me !')
        var_button.set('yes')
        if_hit = True
    else:
        var_label.set('you do not hit me !')
        var_button.set('of course')
        if_hit = False

button_name = tk.Button(window_name , textvariable = var_button , width = 12 , height = 2 , command = hit_me)
button_name.pack()

window_name.mainloop()
urse')
        if_hit = False

button_name = tk.Button(window_name , textvariable = var_button , width = 12 , height = 2 , command = hit_me)
button_name.pack()

window_name.mainloop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值