python-tkinter学习
Posted Python_Heaven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-tkinter学习相关的知识,希望对你有一定的参考价值。
python自带gui模块tkinter,简单实用,学后可以在各种离线电脑上操作,制作脚本,界面化,能够极大提高工作效率。
这次学习根据长度分4部分,学习内容按照b站这个学习的。
https://www.bilibili.com/video/BV1jW411Y7dL?p=2&spm_id_from=pageDriver
(一)
1.窗口
2.Label标签和Button按钮
3.Entry和text,输入和文本框
4.listbox列表部件
(二)
5.radiobutton选择按钮
6.scale尺度-进度条
7.checkbutton 勾选项
8.canvas画布
(三)
9.menubar菜单
10.Frame框架
11.messagebox弹窗
12.pack,grid,place放置位置
(四)
13登陆实例
1.窗口
定义一个窗口,标题头
设置窗口大小:大小
window = tk.Tk()
window.title("my window")
window.geometry('200x100')
window.mainloop()
2.Label标签和Button按钮
2.1 label标签
可以设置文字,背景,字体,字体大小,标签的长和宽
import tkinter as tk
window = tk.Tk()
window.title("my window")
window.geometry('200x100')
l = tk.Label(window, text='OMG!This is TK!', bg='green', font=('Arial', 12), width=15, height=2)
l.pack()
window.mainloop()
运行如图:
2.2button 按钮
使用on_hit控制,点一下button,显示文字,再点一下,不显示了。
注意字符串变量,textvariable,
button中有一个command参数可以定义函数,进行交互。
import tkinter as tk
window = tk.Tk()
window.title("my window")
window.geometry('200x100')
var = tk.StringVar() # 字符串的变量
l = tk.Label(window, textvariable=var, bg='green', font=('Arial', 12), width=15, height=2)
l.pack()
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('')
b = tk.Button(window, text='hit me', width=15, height=2, command=hit_me)
b.pack()
window.mainloop()
运行如图:
3.Entry和text,输入和文本框
Entry为输入值,e.get()方法可以获取到它的值。
注意文本的t.insert方法,在光标上加insert,在末尾加end,在某一行某一列加1.1。
import tkinter as tk
window = tk.Tk()
window.title("my window")
window.geometry('200x200')
# e = tk.Entry(window, show='*')
e = tk.Entry(window, show=None)
e.pack() # 放在window上
def insert_point():
var = e.get()
t.insert('insert', var) # 在光标上增加
def insert_end():
var = e.get()
t.insert('end', var) # 在文字末尾增加
# t.insert(1.1, var) # 添加到第一行第一列
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)
t.pack()
window.mainloop()
运行如图:
4.listbox列表部件
定义一个label,背景为黄色,定义一个按钮。定义一个列表部件,装很多元素。
当光标选中元素,点击按钮,这个值就会显示在label中。
注意:lb.curselection(),tk.Listbox()方法
import tkinter as tk
window = tk.Tk()
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()) # 光标选中的
var1.set(value)
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')
lb.delete(2)
lb.pack()
window.mainloop()
运行如图:
以上是关于python-tkinter学习的主要内容,如果未能解决你的问题,请参考以下文章