tkinter的listboxradiobutton和checkbutton学习

Posted ysysbky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tkinter的listboxradiobutton和checkbutton学习相关的知识,希望对你有一定的参考价值。

1.tkinter的listbox

1.1 代码

技术图片
#第1步,导出模块
import tkinter as tk 
#定义窗口,及其标题、大小和位置
win = tk.Tk()
win.title(Listbox study window) #定义标题,如果未设置,就是默认tk的标题
win.geometry(600x400+500+0) #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0
#定义v=var=variable=变量
v1=tk.StringVar()
#label标签设置
l=tk.Label(win,bg=pink,width=20,height=2,textvariable=v1)
l.pack()
#定义函数
def print_selection():
value=lb.get(lb.curselection()) #lb.curselection()是listbox的一个cur(光标)selection(选择)
v1.set(value)
#按钮设置
b1=tk.Button(win,text=print selection,width=15,height=2,command=print_selection) 
b1.pack()
#定义v2变量
v2=tk.StringVar()
#v2.set((11,222,3333,444,55555)) #新加入的列表值
v2.set((,大家,美丽风景,万里长城永不倒)) #里面是元组(),可以是数字或字符串

lb=tk.Listbox(win,listvariable=v2) #定义lb为listbox
lb.pack()

lsit_items=[1,2,3,4] #原本list_box列表里面的数字,初始化列表里面有内容
#往listbox内添加内容的方法一
for item in lsit_items:
lb.insert(end,item) #insert函数的‘end’,以及加入的内容
#往listbox内添加内容的方法二
lb.insert(1,first) 
lb.insert(2,second)
lb.delete(2) #删除序列2的内容

win.mainloop()
View Code

 


1.2 图1

技术图片
2.radiobutton学习

2.1 代码

技术图片
#第1步:导出模块
import tkinter as tk 
#第2步:定义窗口,及其标题、大小和位置
win = tk.Tk()
win.title(radiobutton study window) #定义标题,如果未设置,就是默认tk的标题
win.geometry(600x400+500+0) #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0
#上述格式基本固定
#定义v=var=variable=变量
v=tk.StringVar()
#label标签设置
l=tk.Label(win,bg=pink,width=20,height=2,text=empty)
l.pack()
#定义command的选择命令
def print_selection():
l.config(text=you have selected: +v.get()) #重点学习l=label的config函数和v=variable变量的get函数
#radiobutton的设置
r1=tk.Radiobutton(win,text=Option A,variable=v,value=A,command=print_selection)
r1.pack()
r2=tk.Radiobutton(win,text=Option B,variable=v,value=B,command=print_selection)
r2.pack()
r3=tk.Radiobutton(win,text=Option C,variable=v,value=C,command=print_selection)
r3.pack()
#循环挂起
win.mainloop()
View Code

 

2.2 图2

技术图片

 

3.checkbutton的学习

3.1 代码:

技术图片
#第1步:导出模块
import tkinter as tk 
#第2步:定义窗口,及其标题、大小和位置
win = tk.Tk()
win.title(Checkbutton study window) #定义标题,如果未设置,就是默认tk的标题
win.geometry(600x400+500+0) #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0
#上述格式基本固定
#定义v=var=variable=变量
v=tk.StringVar()
#label标签设置
l=tk.Label(win,bg=pink,width=20,height=2,text=empty) #也可以设置初始值是text=‘‘,即没有内容输出
l.pack()
#定义command的选择命令
def print_selection():
if (v1.get()==1) & (v2.get()==0):
l.config(text=I love Python)
elif (v1.get()==0) & (v2.get()==1):
l.config(text=I love C++) 
#方法一
elif (v1.get()==1) & (v2.get()==1):
l.config(text=I love both) 
else:
l.config(text=I donot love either)

‘‘‘
#方法二
elif (v1.get()==0) & (v2.get()==0):
l.config(text=‘I donot love either‘) 
else:
l.config(text=‘I love both‘) 
‘‘‘
#定义checkbutton的变量和按钮设置,位置
v1=tk.IntVar()
cb1=tk.Checkbutton(win,text=Python,variable=v1,onvalue=1,offvalue=0,command=print_selection)
cb1.pack()
#定义二
v2=tk.IntVar()
cb2=tk.Checkbutton(win,text=C++,variable=v2,onvalue=1,offvalue=0,command=print_selection)
cb2.pack()
#注意由于cb1和cb2(cb=checkbutton)的text的内容字符串长度不一致,故显示感觉1和2位置不是左边垂直对齐
#可以如下设置
#text=‘C++ ‘增加其内的字符串空格代替

#循环挂起
win.mainloop()
View Code

 

3.2 图3

技术图片

以上是关于tkinter的listboxradiobutton和checkbutton学习的主要内容,如果未能解决你的问题,请参考以下文章

Python Tkinter之布局

tkinter如何设置好看的按钮

Tkinter循环“Tkinter没有响应”

Python3 tkinter窗口中如何输入和输出

Tkinter自学02:tkinter 的3种布局管理器

Tkinter教程