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

在tkinter上关闭带有父窗口的子窗口

,可以通过以下步骤实现:

  1. 首先,确保已经导入了tkinter库:
代码语言:txt
复制
import tkinter as tk
  1. 创建一个父窗口和一个子窗口:
代码语言:txt
复制
parent_window = tk.Tk()
child_window = tk.Toplevel(parent_window)
  1. 在子窗口上添加一个关闭按钮,用于关闭子窗口:
代码语言:txt
复制
close_button = tk.Button(child_window, text="关闭", command=child_window.destroy)
close_button.pack()

这里使用destroy()方法来关闭子窗口。

  1. 在父窗口上添加一个关闭按钮,用于关闭父窗口以及其子窗口:
代码语言:txt
复制
def close_windows():
    parent_window.destroy()

close_button = tk.Button(parent_window, text="关闭", command=close_windows)
close_button.pack()
  1. 运行主循环以显示父窗口和子窗口:
代码语言:txt
复制
parent_window.mainloop()

完整的示例代码如下:

代码语言:txt
复制
import tkinter as tk

def close_windows():
    parent_window.destroy()

parent_window = tk.Tk()
child_window = tk.Toplevel(parent_window)

close_button = tk.Button(child_window, text="关闭", command=child_window.destroy)
close_button.pack()

close_button = tk.Button(parent_window, text="关闭", command=close_windows)
close_button.pack()

parent_window.mainloop()

在这个例子中,点击子窗口的关闭按钮,将关闭子窗口;点击父窗口的关闭按钮,将关闭父窗口以及其子窗口。

在tkinter中关闭带有父窗口的子窗口是一个常见的操作,可以用于构建用户界面中的弹出窗口和对话框等功能。

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

相关·内容

C# WPF如何关闭通过窗口打开所有窗口

= "窗口标题") item.Close(); } WinForm时这样操作: // 遍历并关闭所有窗口 FormCollection childCollection = Application.OpenForms...= this.Title) childCollection[i].Close(); } WPF中时这样操作: // 遍历并关闭所有窗口 Window[] childArray = Application.Current.Windows.Cast...= "窗口标题") item.Close(); } // 或者也可以这样写: Window[] childArray = Application.Current.Windows.Cast<Window...= this.Title) item.Close(); } 总结, 注意WPF中调试要排除无标题窗口,否则会导致程序被关闭。...这里无标题窗口是WPF界面调试器,如果它被关闭会导致被调试程序也被关闭,Release程序可以不用对无标题窗口进行排除。

4.1K60

关闭模态窗口后,窗口居然跑到了其他窗口后面

弹出一个模态窗口,然后将模态窗口窗口设置为自身窗口; 切换到其他程序窗口中(比如 Windows 资源管理器窗口); 切换回此模态窗口,然后关闭这个模态窗口上。...你会发现,模态窗口关闭后,窗口并没有回到当前顶层显示中。取而代之,是其他程序窗口(比如 Windows 资源管理器窗口)。...然后,回到模态窗口中,把它关掉: ? 我们期待模态窗口关掉后,它窗口会在顶层继续供我们操作,但实际,Windows 资源管理器却成为了顶层,我们程序“掉下去了”: ?...为解决兼容性问题微软工程师默哀一分钟…… 我曾经尝试模态窗口关闭后激活一下窗口,但这样会导致窗口层级闪烁一下(Windows 资源管理器会短暂地显示到我们窗口之上)。...或者统一模态窗口窗口样式,样式中解决这个 BUG,这样,所有使用了此窗口样式模态窗口也将解决问题。

9.4K20

使用 SetParent 制作父子窗口时候,如何设置窗口窗口样式以避免抢走窗口焦点

不过,对于 WPF 程序来说,一个独立窗口实际只有一个窗口句柄,窗口所有内容都是 WPF 绘制。...注意看下面的窗口标题栏,当我在这些不同区域间点击时候,窗口标题栏黑色和灰色之间切换: 这说明当窗口获得焦点时候,窗口会失去焦点并显示失去焦点样式。...你可以在这篇博客中找到一个简单例子: 解决办法 而原因和解决方法仅有一个,就是窗口需要有一个窗口样式。 具体来说,窗口必须要有 WS_CHILD 样式。...你可以看看 Spyxx.exe 抓出来默认普通窗口窗口样式差别: !...[默认普通窗口]](/static/posts/2019-09-19-10-21-31.png) ▲ 默认普通窗口窗口 ---- 参考资料 关于WS_CLIPCHILDREN和WS_CLIPSIBLINGS

42160

解决 WPF 嵌套窗口改变窗口大小时候闪烁问题

因为 Win32 窗口句柄是可以跨进程传递,所以可以用来实现跨进程 UI。不过,本文不会谈论跨进程 UI 具体实现,只会提及其实现中一个重要缓解,使用窗口方式。...你有可能在使用窗口之后,发现拖拽改变窗口大小时候,窗口内容不断闪烁。如果你也遇到了这样问题,那么正好可以阅读本文来解决。...---- 问题 你可以看一下下面的这张动图,感受一下窗口闪烁: 实际拖动窗口时候,是一直都在闪,只是每次闪烁都非常快,截取 gif 时候截不到。...后来使用 CreateWindowEx 创建了一个纯 Win32 窗口,这种闪烁现象更容易被截图: 解决 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19...,同时有更好阅读体验。

61240

System.InvalidOperationException:“寄宿 HWND 必须是指定窗口。”

当试图 WPF 窗口中嵌套显示 Win32 窗口时候,你有可能出现错误:“寄宿 HWND 必须是指定窗口。”。 这是很典型 Win32 错误,本文介绍如何修复此错误。...---- 我们 MainWindow 中嵌入一个其他窗口来承载新 WPF 控件。...问题 你有可能在调试嵌入窗口代码时候遇到错误: System.InvalidOperationException:“寄宿 HWND 必须是指定窗口。”...原因和解决办法 出现此错误,是因为同一个窗口被两次设置为同一个窗口窗口。...具体来说,就是 A 窗口使用 HwndHost 设置成了 B 窗口,随后 A 又通过一个新 HwndHost 设置成了新窗口

24930

CMD窗口中使用javac和java命令进行编译和执行带有包名具有继承关系

一、背景   最近在使用记事本编写带有包名并且有继承关系java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法。...解决办法为:我们需要使用javac *.java命令来进行运行,因为此时存在继承关系,编译子类同时也需要先编译类 2)运行java Zi命令,出现以下错误 ? 这是什么原因呢?...这是因为我们不存在文件夹com/hafiz/zhang并且文件夹下不存在Zi.class文件,故找不到主类。 解决办法是:使用javac  -d . *.java("-d ."...此时我们还发现,已经自动生成文件夹com/hafiz/zhang并且文件夹下存在Zi.class文件了。 ?...由此我们得出了CMD窗口中使用javac和java命令进行编译和执行带有包名具有继承关系方式: 1.使用javac -d . *.java进行编译 2.使用java com.hafiz.Zi(

1.6K40

Python GUI编程学习笔记之tkinter控件介绍及基本使用方法详解

,也可以是其他显示方式,比如grid,后面介绍】 让主窗口持续显示:root.mainloop() 3.控件介绍: 主窗口Tk[所有控件都需要附着界面上]: 介绍:主窗口是所有控件附着基础...,所有控件都需要附着界面上,如果程序中没有指定控件附着窗口,将默认附着到主窗口Tk中,如果程序中没有定义Tk,那么将自动创建一个 常见属性【想要初始化主窗口属性需要使用 主窗口对象.属性(“参数”...常用参数设置【可以创建按钮时候指定,也可以创建后使用 按钮对象.config() 来设置】: text:按钮文本显示 anchor:按钮内容位置[取值:n, ne, e, se, s, sw...参数设置:可用参数参考下面的,用法参考Tk Toplevel是一个窗口,当窗口关闭窗口关闭,但子窗口关闭窗口关闭 Valid resource names: background,...参数设置:可用参数参考上面Menu,用法同样可以参考按钮Button 添加菜单方法参考Menu 注意:这次不是root里面config了,而是菜单按钮中设置 from tkinter import

9.5K10

Python进阶-GUI窗口

让 GUI 程序启动和运行起来需要以下 5 个主要步骤: 导入 tkinter 模块(python3.x版本); 创建一个顶层窗口对象,用于容纳整个 GUI 应用; 顶层窗口对象之上(或者“其中...获得 tkinter 访问权是首要步骤。 ? ① 窗口和控件 GUI 编程中,顶层窗口对象包含组成 GUI 应用所有小窗口对象。它们可能是文字标签、按钮、列表框等。...>>> import tkinter >>> top = tkinter.Tk() tkinter.Tk() 返回对象通常称为根窗口,这也是一些应用使用 root 而不是 top 来指代它原因。...顶层窗口是那些应用中独立显示部分。GUI 程序中可以有多个顶层窗口,但是其中只能有一个是根窗口。 控件可以独立存在,也可以作为容器存在。如果一个控件包含其他控件,就可以将其认为是那些控件控件。...相应地,如果一个控件被其它控件包含,则将其认为是那个控件控件,而控件就是下一个直接包围它容器控件。 通常,控件有一些相关行为,比如按下按钮、将文本写入文本框等。

1.4K50

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(2)-上帝给你开了各种撩妹窗口Tkinter

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(2)-上帝给你开了各种撩妹窗口Tkinter) 续一篇学习,我们搞定了了tkinter基础函数,这次我们开始来搞事情。 ?...:实现启动多个窗口 第四步:每隔一段时间弹出一个骚扰窗口 第五步:随机窗口 ---- 二、前言 开始学习之前,你可能需要去看一下一篇文章,因为这篇文章方法是使用到上一篇基础东西。...,框架容器,不填写则会全部写入到第一个窗口中 ?...,那我们继续来弹窗,说明需求: 需要弹出多个窗口 每隔多长时间就会自动弹出一个 关闭一个弹窗之后,依然不影响继续弹窗。...不同位置出现。 要实现不同位置,首先要想到是创建窗口函数。 ?

1.2K30

Python Tkinter Gui 运行不卡顿,多线程解决界面卡死问题

工具包接口 .Tk 和 Tkinter 可以大多数 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。...Tk8.0 后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中,Python 使用 Tkinter 可以快速创建 GUI 应用程序,由于 Tkinter 是内置到 python 安装包中、...只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单图形界面 Tkinter 还是能应付自如。...self.init_window_name.geometry('700x350') # 设置窗口大小 """ 点击右上角关闭窗体弹窗事件 """ self.init_window_name.protocol...return None if __name__ == '__main__': """ 把button方法打包进线程,现实运行不卡顿 """ """ 实例化出一个窗口

3.1K20

Python-GUI|Tkinter模块

它可以跨平台运行在Windows,Linux和Mac等系统。 这篇文章不会介绍如何灵活地运用Tkinter,而是阐述Tkinter这个库包括什么,它能干什么!...模块,这个模块包括了所需要所有的类和函数 然后,需要创建一个(根)窗口,它是一个普通窗口带有标题栏、最小化按钮、最大化按钮等,即:root = Tk() ,调用title接口,geometry分别设置根窗口标题...然后我们就可以窗口上创建一个Label,即贴一个标签,这个Label可以显示文本、图标、图像等等。...我们这里使用text来指定要显示文本,而第一个参数root,表明x控件是root,bg属性表示label背景色,font指明文本所用字体,width,height指明label宽度和高度。...Frame 框架控件;屏幕显示一个矩形区域,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表框控件;Listbox窗口小部件是用来显示一个字符串列表给用户

4.6K100

Tkinter之Menu组件用法 原

本系列博客主要总结Tkinter库中提供UI组件,关于JavaGUI开发,感兴趣可以如下系列博客中找到: https://my.oschina.net/u/2340880/blog?...Tkinter中有提供Menu菜单组件中可以添加如下几种组件: 1_动作项:简单行为按钮,用户点击后会执行相应方法。 2_菜单:行为完整菜单项。...Menu构造函数中第1个参数可以传入菜单所属窗口或者菜单,后面可以添加一些菜单配置,例如: 属性 意义 activebackground 活跃时背景色 activeborderwidth 活跃时边框宽度...tearoff 可以设置为0和1,表示此菜单是否可以独立出来 tearoffcommand 菜单独立被触发时回调 title 可设置独立菜单标题 需要注意,MacOS系统,菜单样式是由系统维护...gif格式 label 设置显示文本 menu 这个选项只用在添加菜单中 offvalue 设置checkbutton关闭值 onvalue 设置checkbutton开启时值 selectcolor

1.8K20
领券