首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

tkinter:按键销毁帧会留下容器

tkinter是Python的标准GUI库,用于创建图形用户界面。它提供了一组用于创建窗口、按钮、标签、文本框等GUI组件的类和方法。

在tkinter中,可以使用Frame(帧)来组织和管理其他GUI组件。当我们在tkinter中创建一个Frame时,它将作为一个容器来容纳其他组件。当我们销毁一个Frame时,它会被从GUI中移除,但是容器本身会留下。

这种行为是由于tkinter的内部实现机制所决定的。当我们销毁一个Frame时,它的子组件会被自动销毁,但是容器本身并不会被销毁。这样做的好处是,我们可以在需要的时候重新使用这个容器,而不需要重新创建它。

如果我们希望在销毁一个Frame后完全移除容器,可以使用pack_forget()grid_forget()方法来隐藏它。这样,容器将不再占用任何空间,并且不会对界面布局产生影响。

在使用tkinter开发GUI应用时,我们可以根据具体需求来决定是否销毁一个Frame以及如何处理容器的留存问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python图形界面GUI程序设计

()控件,想要在窗口上显示按键,需要调用Button()控件。..."]= "确定" #写入文本 bm.pack() #显示控件 tk_bg.mainloop() #显示窗口 注:TK中的窗口显示顺序默认是自上而下的,先调用pack()的控件显示在上面,后调用的显示在下面...画布控件;显示图形元素如线条或文本 Checkbutton 多选框控件;用于在程序中提供多项选择框 Entry 输入控件;用于显示简单的文本内容 Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器...Text 文本控件;用于显示多行文本 Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似 Spinbox 输入控件;与Entry类似,但是可以指定输入范围值 PanedWindow...LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。 tkMessageBox 用于显示你应用程序的消息框。

4.9K20

python tkinter 设计指南

)控件 定义一个窗体(根窗口也是一个窗体),用于承载其他控件,即作为其他控件的容器 Lable 标签控件 用于显示单行文本或者图片 LableFrame 容器控件 一个简单的容器控件,常用于复杂的窗口布局...Label 的前景色 height/width 设置 Lable 的高度/宽度,如果 Lable 显示的是文本,那么单位是文本单元,如果 Label 显示的是图像,那么单位就是像素,如果不设置,Label 自动根据内容来计算出标签的高度...简单计算器 from tkinter import * # 创建窗体 win = Tk() win.title("C语言中文网") win.geometry('300x300') # 创建一个容器来包括其他控件...event 事件 显示按键 from tkinter import * # 定义事件函数,必须用event参数 def show_key(event): # 查看触发事件的按钮 s=event.keysym...keysym 按键名,比如 Control_L 表示左边的 Ctrl 按键 keycode 按键码,一个按键的数字编号,比如 Delete 按键码是107 num 1/2/3中的一个,表示点击了鼠标的哪个按键

6.8K30
  • Python中tkinter模块的常用参数总结

    1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk())root.title('标题名')      修改框体的名字,也可在创建时使用className参数来命名;root.resizable...(root,text='Button2')button2.pack(side=tkinter.RIGHT)root.mainloop() #进入消息循环(必需组件)3、tkinter...当组件由不可用转为可用时触发;Configure      当组件大小改变时触发;Deactivate       当组件由可用转变为不可用时触发;Destroy      当组件被销毁时触发...当窗体的属性被删除或改变时触发;Visibility     当组件变为可视状态时触发;响应事件event对象(def function(event)):char        按键字符...,仅对键盘事件有效;keycode         按键名,仅对键盘事件有效;keysym         按键编码,仅对键盘事件有效;num       鼠标按键,仅对鼠标事件有效

    83330

    零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)

    容器可为根窗体或其他容器控件实例。...当使用 Place 布局管理容器中的组件时,需要设置组件的 x、y 或 relx、rely 选项,Tkinter 容器内的坐标系统的原点 (0,0) 在左上角,其中 X 轴向右延伸,Y 轴向下延伸,如图所示...个像素 3 cursor 光标的形状设定,如arrow, circle, cross, plus 等 4 font 文本字体 5 exportselection 默认情况下,你如果在输入框中选中文本,默认复制到粘贴板...,则返回为空字符串 keysysm 字符或字符型按键名,如:“a”或“Escape” keysysm_num 按键的十进制 ASCII 码值 例如:将标签绑定键盘任意键触发事件并获取焦点,并将按键字符显示在标签上...('按键实验') root.geometry('200x200') lb=Label(root,text='请按键',font=('黑体',48)) lb.bind('',show) lb.focus_set

    14.2K30

    Python3中tkinter模块使用方法详解

    aland-1415/p/6849193.html  1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk()); root.title('标题名')         修改框体的名字...Configure            当组件大小改变时触发;     Deactivate          当组件由可用转变为不可用时触发;     Destroy              当组件被销毁时触发...;     Visibility           当组件变为可视状态时触发; 响应事件 event对象(def function(event)):     char                按键字符...,仅对键盘事件有效;     keycode            按键名,仅对键盘事件有效;     keysym             按键编码,仅对键盘事件有效;     num                ...鼠标按键,仅对鼠标事件有效;     type                 所触发的事件类型;     widget               引起事件的组件;     width,heigh

    4.5K21

    Unity基础教程系列(三)——复用对象(Object Pools)

    因为列表是有序的,所以删除一个元素会在列表中留下空白。从概念上讲,这种差距是很容易消除的。即让被删除元素的相邻元素成为彼此的邻居元素。 ?...2 持续的创造与销毁 一次创造和销毁一个形状并不是增加或减少游戏内容的快速方法。如果我们想要不断地创造和摧毁它们呢?当然可以通过一遍又一遍地快速按键来实现,但这样做很快就会让人疲倦。...锚控制GUI对象相对于其父容器的位置,以及它对其父容器的大小变化的反应。我们把标签放在游戏窗口的左上角。无论最终的窗口大小如何,如果要保持它相对位置不变,可以将其锚定在左上角。...每次一个对象被销毁时,它使用的内存都必须被回收。但回收不会立即发生。偶尔运行一个垃圾收集过程来清理所有东西。...因此,使用的内存数量增长一段时间,直到它被系统认为占用的太多了,然后不可访问的内存会被识别出来进行回收并再次可用。如果涉及到很多内存块,这可能导致游戏中的速率显著下降。

    2.8K10

    Android7.0 分屏 Activity 与 Fragment 生命周期(二)

    测试 ACE09_1 在屏幕上半部分,ACE09_2 处于屏幕下半部分,调整屏幕分割线,将处于下半部分的 Activity 划到底部,只留下上半部分 Activity,此时生命周期为:ACE09_1 onStop..._2 onPause -> onStop -> ACE09_1 onResume,其生命周期并不绝对,是两个 Activity 交互执行;调整屏幕分割线,将处于上半部分 Activity 划到顶部,只留下下半部分...点击手机【分屏】按键,会将处于屏幕下半部分的 Activity 关闭,执行周期为:onPause -> onStop; ?...ACE09_2 处于屏幕下半部分,且处于 onResume 状态,此时点击屏幕【返回】按键,此时 ACE09_2 销毁,而 ACE09_1 不变,不会占据整个屏幕,此时生命周期为:ACE09_2 onPause...-> onStop -> onDestroy;若 ACE09_2 处于屏幕下半部分,且 ACE09_1 处于 onResume 状态,此时点击屏幕【返回】按键,此时 ACE09_1 销毁,且 ACE09

    97031

    python版的openCV使用及下载

    WINDOW_AUTOSIZE) #更改窗口 大小 cv2.resizeWindow('window',800,600) #展示窗口名字为window; cv2.imshow('window',0) #等待按键...#可以利用waitKey来销毁窗口,不用每次重启;0表示接受任意按键,其他的整数表示等待按键的时间,单位是毫秒;key是int型,最少16位,ascii码是8位 Key=cv2.waitWey(0)...读进来,不要用别的方式展现,用opencv自己的方式展现; cv.2imshow(“图片”,img) plt.imshow(图片) #必须执行外部文件;table和空格混用的缩进问题,执行之后,...cap=cv2.VideoCapture(0) #类,首字母大写,代码书写规范 # #打开视频,输入视频的地址 # cap=cv2.VideoCapture('') #循环读取摄像头的每一...# while True: while cap.isOpened(): #读一数据,返回标记和这一数据,TURE表示读到了数据,False表示没读到数据,     ret,frame

    1.3K20

    tkinter系列 第十课 TopLevel窗口部件 】

    解释: 这里可能对于出现两个窗口会有疑问,其实是因为TopLevel虽然也是顶级窗口,但是它是不能独立存在的,默认创建一个根窗口(自己实验猜测)。...) top = Toplevel()top.geometry("400x200")top.title("登录注册") # 登录def login(): top.destroy() # 登入成功后销毁...if answer: # 如果点击确定,返回一个True的值,否则False root.destroy()# 销毁主窗口 # 如果直接点击右上角关闭按钮,直接关闭,通过这个方法,可以直接绑定...总结: 1.withdraw() 隐藏窗口,iconify()也是隐藏窗口,但是其实是最小化,任务栏还是可以点击打开的,withdraw()是消失的。...2.deiconify() 显示窗口 3.destroy() 销毁窗口 关闭父窗口,会将它下面的其它窗口都关闭 4.protocol("WMDELETEWINDOW", logout) 窗口的管理方法,

    3.5K20

    tkinter -- Event(2)

    测试离开(Leave)事件 测试鼠标释放事件 代码: import tkinter as tk root = tk.Tk() def printcoords(event):     print(event.x...分别测试 Leave 事件,只是在离开组件是产生此事件 响应特殊键(Special Key) 代码; import tkinter as tk root = tk.Tk() def printcoords...处理所有的按键事件,如果是上例的特殊键,event.char 返回为空;其它情况下为这个键的值 如果输入大写字母(即上档键值),按下 Shift 键时就会有 Key 的事件触发。...即回将用两次:一次为 Shift 本身,另一次为 Shift+ Kye 的实际键值 只处理指定的按键消息 代码: import tkinter as tk root = tk.Tk() def printCoords...一般的按键直接使用就可以了,这样书写'key',不是'' 但有两个需要特别注意:空格与小于的处理,使用方式为'和

    67330

    tkinter -- Pack

    Pack 为一布局管理器,可将它视为一个弹性的容器 一个空的 widget 代码: import tkinter as tk root = tk.Tk() # 查看当前 root 下的子组件,解释器没有报异常...pack_salves 打印当前组件包拥有的子组件,通过这个函数可以查看各个组件是否有包含关系 root 与 Pack 的关系 使用文字 create_text 代码: import tkinter as...注意最后一个 Label 的显示不完全,因为root大小设置了,Label超出范围了 固定设置到自由变化 上例中看到 label4没有显示完全 代码: import tkinter as tk root...这样的话最后一个已经显示出来的,这就是为什么称 Pack 为弹性的容器的原因了,虽然有这个特性,但它并不是总是能够按照我们的意思进行布局,我们可以强制设置容器的大小,以覆盖 Pack 的默认设置。...expand 如何控制组件的布局 这个属性指定如何使用额外的空间,即上例中留下来的“空白” 代码: import tkinter as tk root = tk.Tk() # 向 root 中 pack

    60350

    事件处理

    事件处理总体上还是比较顺利的首先要导入一个tkinter.messagebox的一个类 用于显示提示信息,这一点尤为重要第一次他并没有去选择一个可以更改的一个messagebox显示的内容 tkinter.messagebox.showinfo...import tkinter.messagebox # 实现提示框的一个组件 LOGO_PATH = 'resources/2.ico' # 文件路径` # LOGO_PATH='resources...() # root.title("lyz") # root.mainloop() self.root = tkinter.Tk() # 创建一个窗体...LOGO_PATH) # 设置logo资源 # 这里的ico文件不能直接更高后缀 要通过转移网站进行转到ico文件才可已实现 # 要不然能运行时能运行,只是logo那一块只是变成一块白板...self.root.maxsize(1750, 883) self.root['background'] = "LightSlateGray" # 绑定一个鼠标单击的一个按键编码

    49220

    OpenCV 学习日记(二)---牛刀小试:输入输出图像和视频

    Auto+size,字面意思就是自动大小,就是说这个窗口适应图片的大小,图片有多大,窗口就有多大,感兴趣的可以拿大小不同的图片进行试验。...②frame =cvQueryFrame(capture);这句话其实就是把刚刚AVI视频,按照一的图像的形式,复制给frame,然后再用cvShowImage显示出来,这里需要理解的就是,视频其实就是由很多图像构成的...③char c=cvWaitKey(40)每之间停顿40ms,你可以之后随意更改此处的值,看看视频播放起来有什么区别。...④if  (c==27) break;播放期间如果你按了一按键,c就会被赋值为这个按键对应的ASCII码,而Esc的ASCII码是27,所以当你按了Esc之后,退出播放界面。...图像销毁函数 函数cvReleaseImage 销毁已定义的IplImage指针变量,释放占用内存空间。

    86800

    如何用 Docker 安装运行 mysql?

    默认读者已经对 docker 一些简单操作,比如查看 container 列表、删除 container 之类的简单管理命令。...容器可以启动、暂停、销毁。通常我们会将容器内部的端口映射到你的原生操作系统的端口上,实现访问。 volumes:数据卷。...像是 mysql 里面产生的数据,可以通过 volume 的方式映射到宿主环境中,这样 container 销毁数据还能保留下来。...持久化数据 容器中的生成的数据保留在 container 中。如果我们销毁了 container,之前创建的表和数据都会丢失。 如果你希望将它们留下来,可以考虑做一个文件系统的映射。...-v ::指定的宿主的目录就会映射到容器目录上,里面的数据在 contaienr 销毁后依旧存在。

    2.4K30

    Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1

    Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1 ---- 目录 Tkinter教程(每天半小时,彻底掌握Tkinter)day1 教程环境 Tkinter概述 GUI是什么 Tkinter...Python GUI 工具:Tkinter、wxPython、PyQt、PyGTK、Pywin32 等; 这里我们主要针对Tkinter进行讲解。...python -m tkinter 第一个Tkinter程序 我们先简单看一下示例,后面在进行具体的分析与讲解。...因为800*600几乎所有的电脑都不会出现页面溢出,那么咱们根据它来创建一个常用的功能页面,需要啥留下什么,其余的删除,就是我们需要的页面。我们不做复杂的,够用即可。...window.state("normal") 用来设置窗口的显示状态,参数值 normal(正常显示),icon(最小化),zoomed(最大化), window.withdraw() 用来隐藏主窗口,但不会销毁窗口

    5.2K20

    用Python中的tkinter模块作图(续)

    九、显示图片 要用tkinter在画布上显示图片,首先要装入图片,然后使用canvas对象上的create_image函数。 这是我存在E盘上的一张图片: ?...当我们告诉tkinter将某个特定函数绑到(或关联到)某个特定事件上时就完成了绑定。 换句话说,tkinter自动调用这个函数来处理事件。...现在我们用画布canvas上的bind_all函数来告诉tkinter当特定事件发生时应该调用这个函数。...监视KeyPress事件,当该事件发生时调用movetriangle函数 那么我们如何根据按键的不同而改变三角形的方向呢?...学会了如何用事件绑定来让图形响应按键,这在写计算机游戏时很有用。 在tkinter中以create开头的函数是如何返回一个ID数字。

    3K70
    领券