最前面的
最近发现有大量笔记是冗余的,它们分布在有道云笔记,云盘,电脑手机里。以word,txt,md等形式存在。查找起来非常不便。
我打算把他们收集到一起统一管理。
这篇是很久以前关于tkinter的一些使用时的记录。
参考
模板
路径选择框
1 | import tkinter as tk |
控件使用
建立一个窗口
定义 window 窗口 和 window的一些属性
1 | import tkinter as tk |
定义一个lable
内容固定的lable
1
2
3
4
5
6
7
8
9
10
11
12l = tk.Label(window,
text='标签内容', # 标签的文字
bg='green', # 标签背景颜色
font=('宋体', 13), # 字体和字体大小
width=15, height=2, # 标签内容区大小(以字符长度计算)
# padx=10, pady=15,borderwidth=10, relief="sunken" # 设置填充区距离、边框宽度和其样式(凹陷式)
)
l.config(text='标签内容2') # 重新设置lable值
l.pack() # 固定窗口位置
l.place(x=10, y=10) # 移动标签位置内容可变的lable
1
2
3
4
5
6
7
8
9'''lable'''
var = tk.StringVar() # 文字变量储存器
l = tk.Label(window,
textvariable=var, # 使用 textvariable 替换 text, 因为这个可以变化
bg='green', font=('Arial', 12), width=15, height=2)
l.pack()
var.set('you hit me') # 设置标签内容
l.place(x=10, y=10) # 移动标签位置到窗口左上角
按钮
1 | def hit_me(): # 点击按钮执行的函数 |
密码输入框(用户输入任何内容都显示为*)
- 显示输入框
1
2e = tk.Entry(window,show='*')
e.pack() - 获得输入值(放到其他控件的触发函数里输出)
1
2def hit_me(): # 按钮事件触发函数
print(e.get())
文本框
- 创建文本框
1
2
3t = tk.Text(window,height=15,width=30) # 文本框大小(占多少字符)
t.pack()
t.place(x=0, y=0) # 移动按钮位置 - 获得输入值(放到其他控件的触发函数里输出)
1
2def hit_me(): # 点击按钮执行的函数
print(t.get("0.0","end"))
列表
- 创建列表
1
2
3
4
5
6
7
8var2 = tk.StringVar() # 创建一个变量var2
var2.set((1,2,3,4)) #为变量设置值
# 将var2作为列表的默认值,允许列表多选
lb = tk.Listbox(window, listvariable=var2,selectmode=tk.MULTIPLE)
lb.pack() # 显示出来
lb.place(x=50, y=60) # 移动位置 - 更改列表值
1
2
3
4lb.insert('end', "zero") #从最后一个位置开始加入值
lb.insert(1, 'first') #在第一个位置加入'first'字符
lb.insert(2, 'second') #在第二个位置加入'second'字符
lb.delete(2) #删除第二个位置的字符 - 获得输入值(放到其他控件的触发函数里输出)
1
2
3
4
5def hit_me(): # 点击按钮执行的函数
selected_indices = lb.curselection()
selected_values = [lb.get(index) for index in selected_indices]
print(selected_indices) # 返回包含选中值下标的元组
print(selected_values) # 返回包含选中值的列表
radiobutton 部件
- 创建控件
当我们鼠标选中了其中一个选项,把value的值A放到变量var中1
2
3
4
5
6
7
8var = tk.StringVar() # 创建一个StringVar变量以存储单选按钮的值
var.set(None) # 设置初始值
r1 = tk.Radiobutton(window, text='选择 A',variable=var, value='A')
r1.pack()
r2 = tk.Radiobutton(window, text='选择 B',variable=var, value='B')
r2.pack() - 获得输入值(放到其他控件的触发函数里输出)、
1
2def hit_me(): # 点击按钮执行的函数
print(var.get())