一 代码
import tkinter
import tkinter.messagebox
import tkinter.ttk
#创建tkinter应用程序
root = tkinter.Tk()
#设置窗口标题
root.title('Selection widgets')
#定义窗口大小
root['height']=400
root['width']=320
#与姓名关联的变量
varName = tkinter.StringVar()
varName.set('')
#创建标签,然后放到窗口上
labelName = tkinter.Label(root, text='Name:',justify=tkinter.RIGHT,width=50)
labelName.place(x=10, y=5, width=50, height=20)
#创建文本框,同时设置关联的变量
entryName = tkinter.Entry(root, width=120,textvariable=varName)
entryName.place(x=70, y=5, width=120, height=20)
labelGrade = tkinter.Label(root, text='Grade:', justify=tkinter.RIGHT, width=50)
labelGrade.place(x=10, y=40, width=50, height=20)
#模拟学生所在年级,字典键为年级,字典值为班级
studentClasses ={'1':['1','2','3','4'],
'2':['1','2'],
'3':['1','2','3']}
#学生年级组合框
comboGrade = tkinter.ttk.Combobox(root,width=50,
values=tuple(studentClasses.keys()))
comboGrade.place(x=70, y=40, width=50, height=20)
#事件处理函数
def comboChange(event):
grade = comboGrade.get()
if grade:
#动态改变组合框可选项
comboClass["values"]= studentClasses.get(grade)
else:
comboClass.set([])
#绑定组合框事件处理函数
comboGrade.bind('<<ComboboxSelected>>', comboChange)
labelClass = tkinter.Label(root, text='Class:', justify=tkinter.RIGHT, width=50)
labelClass.place(x=130, y=40, width=50, height=20)
#学生年级组合框
comboClass = tkinter.ttk.Combobox(root, width=50)
comboClass.place(x=190, y=40, width=50, height=20)
labelSex = tkinter.Label(root, text='Sex:', justify=tkinter.RIGHT, width=50)
labelSex.place(x=10, y=70, width=50, height=20)
#与性别关联的变量,1:男;0:女,默认为男
sex = tkinter.IntVar()
sex.set(1)
#单选钮,男
radioMan = tkinter.Radiobutton(root,variable=sex,value=1,text='Man')
radioMan.place(x=70, y=70, width=50, height=20)
#单选钮,女
radioWoman = tkinter.Radiobutton(root,variable=sex,value=0,text='Woman')
radioWoman.place(x=130, y=70, width=70, height=20)
#与是否班长关联的变量,默认当前学生不是班长
monitor = tkinter.IntVar()
monitor.set(0)
#复选框,选中时变量值为1,#未选中时变量值为0
checkMonitor = tkinter.Checkbutton(root,text='Is Monitor?', variable=monitor,
onvalue=1, offvalue=0)
checkMonitor.place(x=20, y=100, width=100, height=20)
#添加按钮单击事件处理函数
def addInformation():
result ='Name:'+ entryName.get()
result = result +';Grade:'+ comboGrade.get()
result = result +';Class:'+ comboClass.get()
result = result +';Sex:'+('Man'if sex.get()else'Woman')
result = result +';Monitor:'+('Yes'if monitor.get()else'No')
listboxStudents.insert(0, result)
buttonAdd = tkinter.Button(root, text='Add',width=40, command=addInformation)
buttonAdd.place(x=130, y=100, width=40, height=20)
#删除按钮的事件处理函数
def deleteSelection():
selection = listboxStudents.curselection()
ifnot selection:
tkinter.messagebox.showinfo(title='Information', message='No Selection')
else:
listboxStudents.delete(selection)
buttonDelete = tkinter.Button(root, text='DeleteSelection',
width=100, command=deleteSelection)
buttonDelete.place(x=180, y=100, width=100, height=20)
#创建列表框组件
listboxStudents = tkinter.Listbox(root, width=300)
listboxStudents.place(x=10, y=130, width=300, height=200)
#启动消息循环
root.mainloop()
二 运行结果
相关推荐
《Tkinter GUI 应用开发秘籍》是一本专注于Python GUI编程的指南,它涵盖了从基础到高级的各种Tkinter主题,旨在帮助开发者充分利用这个强大的工具创建功能丰富的图形用户界面。以下是对书中各章节内容的详细解释: ...
本示例——“完整版赋值复制窗口组件应用例”——旨在深入讲解如何在实际开发中有效地运用这些功能。 首先,我们要理解什么是窗口组件。窗口组件通常指的是GUI(图形用户界面)中的元素,如按钮、文本框、列表视图...
1. **窗口和框架**:Tkinter的核心组件是`Tk`根窗口,通过`Tk()`函数创建。在这个基础上,可以添加多个`Frame`来组织控件,增强程序的结构感。 2. **控件**:Tkinter提供了多种控件,如`Button`(按钮)、`Label`...
本资料《tkinter要点和难点具体应用实例解析》将深入探讨Tkinter的核心概念、常用组件以及常见问题的解决方案,帮助读者快速掌握Tkinter的使用技巧。 一、Tkinter基础知识 Tkinter是基于Tcl/Tk库的Python接口,...
在这个项目中,我们将讨论如何利用Tkinter来实现一个学生通讯录,这是一个常见的编程实践作业,旨在帮助学习者掌握GUI编程基础。 首先,我们需要了解Tkinter的基本用法。Tkinter提供了多种组件,如Label、Entry、...
此外,对于初学者而言,一些常见问题的解决方案也应该包括在内,例如如何在不同操作系统中解决tkinter的依赖问题。 《tkinter教程第二版》很可能是为有Python基础的读者设计的,需要读者具备一定的编程基础,并且对...
Tkinter提供了如`filedialog`、`colorchooser`等对话框,方便进行文件选择、颜色选择等常见操作。 9. **程序结构**: 一个典型的Tkinter程序包含主循环(`mainloop()`),在该循环中,程序等待并处理窗口系统的...
文档中的“详细介绍了tkinter的API”,意味着它提供了关于如何使用Tkinter组件和功能的全面指导,这对于学习和开发Python GUI应用至关重要。 标签“python gui”指出了文档的主要内容,即Python的图形用户界面编程...
这份文档详细介绍了Tkinter组件的使用方法,并且特别涵盖了TTK主题组件的相关内容。 #### 跨平台图形用户界面生成器 Tkinter是一种用于Python的跨平台图形用户界面构建工具,其主要目标是简化GUI开发流程,让开发者...
以上知识点涵盖了从Tkinter的基本概念到实际编程实践的关键信息,并指出了学习过程中可能遇到的一些常见问题和解决方案。对于希望深入学习Python GUI开发的读者来说,Tkinter教程是一个宝贵的资源。
3. **Menu组件**:Menu用于创建下拉菜单,常见的有文件菜单、编辑菜单等。`add_command`方法添加命令项,`add_separator`添加分隔线,`post`方法可以将菜单弹出显示。 4. **Button组件**:Button用于定义可点击的...
在这个“Python TKinter库GUI设计、按钮实现多界面切换案例”中,我们将探讨如何使用这个库来构建多界面应用,这对于上位机开发来说是一个常见的需求。 首先,理解基础的GUI组件至关重要。在TKinter中,我们可以...
在Python编程领域,开发用户界面应用是一个常见的任务,而Tkinter是Python的默认GUI库,提供了丰富的组件和功能。在这个项目中,我们将讨论如何利用Tkinter和PyMuPDF库来创建一个简单的PDF查看器。PyMuPDF是一个轻量...
本教程将深入探讨如何利用Python的Tkinter库创建GUI应用,并通过Pygame库进行游戏开发。 ### Tkinter:Python的标准GUI库 Tkinter是Python的默认GUI库,它基于Tcl/Tk跨平台窗口系统。Tkinter提供了丰富的组件,如...
3. 组件使用:在学生信息管理系统中,常见的组件有按钮(Button)、文本框(Entry)、标签(Label)和列表框(Listbox)。例如,可以创建一个“添加”按钮触发添加学生信息的函数,一个“搜索”文本框用于输入查询...
然而,对于普通应用开发者而言,直接使用这个低级接口并不常见,通常会依赖于共享库(或DLL)或者静态链接到Python解释器。Tkinter还包括一些Python模块,比如Tkinter自身以及Tkconstants模块,后者包含了常量定义,...
Python使用Tkinter可以快速地创建GUI应用程序。Tkinter是由John Ousterhout创建的一个工具包,它是Tcl/Tk的一个Python绑定。Tcl/Tk是一种用于快速构建GUI的应用程序开发框架。 #### 2. 最小化应用程序 Tkinter的...
在Python的GUI编程领域,`tkinter`是一个非常重要的库,它是Python标准库的一部分,用于创建桌面应用程序。这个“tkinter桌面小部件demo,带位置记忆,带打包成品”项目,是一个利用`tkinter`库构建的桌面应用实例,...