python基本使用(4)— 窗口TKinter

这篇博客介绍了Python的Tkinter库,用于构建窗口应用程序。内容包括Label、Button、Entry、Text、Listbox、Radiobutton、Scale、Checkbutton、Canvas、Menubar、Frame、messagebox以及布局管理pack、grid、place的使用方法,通过实例展示了各种组件的功能和效果。
摘要由CSDN通过智能技术生成

1. 窗口TKinter

Tkinter 是使用 python 进行窗口视窗设计的模块. 简单的构造, 多平台, 多系统的兼容性, 能让它成为让你快速入门定制窗口文件的好助手. 它在 python 窗口视窗模块中是一款简单型的. 所以用来入门, 熟悉 窗口视窗的使用, 非常有必要。

1.1 Label & Button 标签和按钮

每一个 tkinter 应用的主体框架都可以 定义 window 窗口 和 window的一些属性, 然后书写窗口内容, 最后执行window.mainloop让窗口活起来.

标签 Label:

import tkinter as tk

#窗口主题框架
window = tk.Tk()    #创建一个 TK 的窗口window
window.title('my window')   #窗口命名
window.geometry('200x100')  #大小

# 这里是窗口的内容


#窗口内容   创建标签l
l = tk.Label(window, 
    text='Hello!',    # 标签的文字
    bg='green',     # 背景颜色
    font=('Arial', 12),     # 字体和字体大小
    width=15, height=2  # 标签长宽
    )
l.pack()    # 固定窗口位置

window.mainloop()     #循环窗口

结果:会出现如下标签

按钮 Button:

import tkinter as tk

#窗口主题框架
window = tk.Tk()    #创建一个 TK 的窗口window
window.title('my window')   #窗口命名
window.geometry('200x100')  #大小

# 这里是窗口的内容

var = tk.StringVar()  #tk中的变量,指代字符串

#窗口内容   创建标签l
l = tk.Label(window, 
    textvariable = var,    # 标签的文字
    bg='green',     # 背景颜色
    font=('Arial', 12),     # 字体和字体大小
    width=15, height=2  # 标签长宽
    )
l.pack()    # 固定窗口位置

on_hit = False  #默认初始状态为False
def hit_me():
    global on_hit
    if on_hit == False:  #点击完毕则变化
        on_hit = True
        var.set('you hit me')   #将变量var设置为
    else:
        on_hit = False
        var.set('')       #设置文字为空
 
b = tk.Button(window,text='hit me',width=15,height=2,command = hit_me)
#执行的命令command是hit_me这个函数,需提前定义
b.pack()
 
window.mainloop()     #循环窗口
 

则点击‘hit me’,循环以下窗口

                     

1.2 Entry & Text 输入 & 文本框

import tkinter as tk

#窗口主题框架
window = tk.Tk()    #创建一个 TK 的窗口window
window.title('my window')   #窗口命名
window.geometry('200x200')  #大小

e = tk.Entry(window,show='*')   #使输入框中都显示*
e.pack()

def insert_point():
    var=e.get()
    t.insert('insert',var)   #insert的用法,第一个参数insert表示在按键所在位置
    
def insert_end():
    var=e.get()
    t.insert('end',var)     #insert的用法,第一个参数end表示在文本末尾
    #t.insert(1.1,var)   插入到指定位置,1.1表示第一行,第一列的位置

b1 = tk.Button(window,text='insert point',width=15,height=2,command = insert_point)
b1.pack()

b2 = tk.Button(window,text='insert end',command = insert_end)  #默认大小
b2.pack()

t = tk.Text(window,height=2)      #文本框,设置为2个字符宽度
t.pack()

window.mainloop()     #循环窗口

结果:

最上面是输入框,最下面是文本框,中间两行为按钮选择。

1.3 Listbox列表部件

import tkinter as tk

#窗口主题框架
window = tk.Tk()    #创建一个 TK 的窗口window
window.title('my window')   #窗口命名
window.geometry('200x200')  #大小

var1 = tk.StringVar()
l=tk.Label(window, bg='yellow', width=4, textvariable=var1)
l.pack()

def print_selection():
    value=lb.get(lb.curselection())     #curselection()表示光标选定的东西
    var1.set(value)   #将上面的值附到Label的变量var1中

b1 = tk.Button(window,text='print selection',width=15,height=2,command = print_selection)
b1.pack()

var2=tk.StringVar()
var2.set((11,22,33,44))      #初始值设置
lb=tk.Listbox(window,listvariable=var2)       #将自变量传到列表中
list_items=[1,2,3,4]
for item in list_items:
    lb.insert('end',item)
    
lb.insert(1,'first')  #在第一位插入first
lb.insert(2,'second')
lb.delete(2)           #删除第二位
lb.pack()

window.mainloop()     #循环窗口

结果为

</

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值