前言:接着前面的进行补充说明
这里直接引用此博主的博文
python基础知识-GUI编程-TK-StringVar
- Listbox列表框组件(用于显示多个文本或者项目)
一 . 相关语法:
- 创建文本框和显示文本框:
python Listbox对象 = Listbox(窗口对象) Listbox对象.pack()
- 插入文本内容:
Listbox对象.insert(index,item)
1)index是插入的位置:
如果以追加的方式插入那么index应该是END
如果在开头插入那么index应该是0
如果在当前插入那么index应该是ACTIVE
2)item是要插入的内容 - 返回选中的文本内容所在位置(或者是返回选中项的索引):
Listbox对象.curselection()
注:返回的是元组,且索引号从0开始 - 删除文本内容(或者是删除文本项):
Listbox对象.delete(first,last)
- 获取文本内容
Listbox对象.get(first,last)
- 获取文本的个数
Listbox对象.size()
- 获取Listbox所有的文本内容
变量名=StringVar()
列表框对象=Listbox(窗口对象,listvariable=变量名)
列表框对象.get()
注意:如果当用户想要选择多个文本内容时,需要更改属性
selectmode将其改为MULTIPLE
二. 相关python语言描述:
from tkinter import*
root = Tk()
root.geometry("450x400")
#创建窗口,并设置窗口的大小
lb1 = Listbox(root) #创建第一个列表框
lb1.grid(row=0,column=0,rowspan=4) #利用grid几何布局设置第一个列表框的位置
for i in ["语文","数学","英语","物理","化学","生物"]:
lb1.insert(END,i)
#利用insert()函数添加到第一个列表框
lb2 = Listbox(root)#创建第二个列表框
lb2.grid(row=0,column=2,rowspan=4)#设置列表框的位置
def tianjia():
for i in lb1.curselection():
lb2.insert(END,lb1.get(i))
#利用curselection(),insert()函数进行添加操作
def shanchu():
for i in lb2.curselection():
lb2.delete(i)
#利用curselection(),delte()函数进行添加操作
Button(root,text='添加>',command=tianjia,width=20).grid(row=0,column=1)
Button(root,text='删除>',command=shanchu,width=20).grid(row=2,column=1)
#设置俩个按钮组件,并利用command进行函数绑定
root.mainloop()
三. 相关python语言实现
5.单选按钮(Radiobutton)和复选按钮(Checkbutton)
一 相关语法:
- 创建单选按钮并显示按钮和创建复选按钮并显示按钮
创建单选按钮:
Radiobutton对象 = Radiobutton(窗口对象,text=按钮需要显示的文本)
显示单选按钮:
Radiobutton对象.pack()
创建复选框按钮:
Checkbutton对象=Checnkbutton(窗口对象,text=Checkbutton组件显示的文本,command=单击Checkbutton按钮所触发的函数)
显示复选框按钮:
checkbutton对象.pack()
- Radiobutton常用属性
属性 | 描述 |
variable | 单击按钮索引变量,通过变量的值确定哪个单选按钮被选中。一组单选按钮用的是同一个索引变量 |
value | 单选按钮选中时变量的值 |
command | 点击单选按钮是触发的函数 |
- Checkbutton常用属性
属性 | 描述 |
variable | 复选框索引变量,通过变量的值确定哪些复选框被选中。当复选框使用不同的变量时,那么这些复选框直接相互独立 |
onvalue | 复选框被选中的时候变量的值 |
offvalue | 复选框未被选中的时候变量的值 |
- Radiobutton组件的方法:
方法 | 描述 |
deselect() | 取消选择 |
select() | 选择 |
invoke() | 调用单选按钮指定的回调函数 |
- 获取Checkbutton的状态:
变量名=IntVar()
变量名.set()
check=tkinter.Checkbutton(窗口对象,variable=变量名)
变量名.get()
二 相关的python语言:
from tkinter import*
root = Tk() #创建窗口
root.title("选框按钮") #设置窗口标题
a = Label(root,text="欢迎来到选框按钮!!!") #设置标签
a.pack() #显示标签
strs = StringVar() #设置TK中的可变字符变量
strs.set("black") #初始化变量的值
def colorchoose(): #定义colorchoose函数
global a #定义全局变量
a['fg']=strs.get() #设置标签的背景(这是引用标签的属性的另外一种方法)
#创建三个单选按钮,并利用variable将其赋值同一个变量(作用是为了使其成为一个分组中)
Radiobutton(root,text='红色',variable=strs,value='red',command=colorchoose).pack(side='left')
Radiobutton(root,text='蓝色',variable=strs,value='blue',command=colorchoose).pack(side='left')
Radiobutton(root,text='绿色',variable=strs,value='green',command=colorchoose).pack(side='left')
#创建俩个可变的int类型的变量
ints1 = IntVar()
ints2 = IntVar()
#定义typecheck函数
def typecheck():
global a
global ints1,ints2
b = ints1.get() + ints2.get()
if b==1:
a['font'] = ("Arial",12,"bold")
elif b==2:
a["font"] = ("Arial",12,"italic")
elif b==3:
a["font"] =("Arial",12,"bold italic")
else:
a["font"] = ("Arial",12)
Checkbutton(root,text="粗体",variable=ints1,onvalue=1,offvalue=0,command=typecheck).pack(side='left')
#创建一个复选框按钮,并将其的offvalue(未选中),onvalue(选中)进行设置
Checkbutton(root,text="粗体",variable=ints2,onvalue=2,offvalue=0,command=typecheck).pack(side='left')
#同上
root.mainloop()
三 相关的python语言的实现:
- 菜单按钮(Menu)[不做过多的解释]
相关pyton语言的实现
- 对话框组件:
1)文件对话框(不进行详细解释)
2)颜色对话框(不进行详细解释)
3)简单对话框 (不进行详细解释)
8.Frame框架组件(相当于是一个容器,为其他组件的添加提供基础)
一 相关语法:
创建Frame对象和显示对象:
Frame对象 = Frame(窗口对象,相关的属性)
Frame对象.pack()
向Frame组件中添加组件并显示组件:
例如:Label(Frame对象,text="hello").pack()
#主要语言无法解释,用例子的形式进行解释(望读者理解)
LabelFrame组件:
解释:LabelFrame组件是有标题的Frame框架组件
LabelFrame(窗口对象,text=标题,height=高度,width=宽度).pack()