问题描述 笔者在App登录后,切换RootViewController时,发现window上盖着一层看不见的View。如图所示: ? 然后看了window的层级,如图所示: ?...发现window除了有一个根控制器TabbarController,还有一个UILayoutContainerView,不难分析出,这就是之前旧的RootVC残留下来,没有释放的View。...因此,我们只要耐心等专场动画结束后,再去判断 subView.subviews.count == 0即可。...修改后的代码如下: class MPWindow: UIWindow { override var rootViewController: UIViewController?
解释: 这里可能对于出现两个窗口会有疑问,其实是因为TopLevel虽然也是顶级窗口,但是它是不能独立存在的,默认会创建一个根窗口(自己实验猜测)。...下面的代码和上面是一样的效果,建议还是用下面的代码,显示创建一个根窗口更好。...实用案例 通常我们进入一个软件之前,需要先登录;没有登录就不能显示主界面(这里也就是root窗口),通过登录界面(这里是TopLevel窗口)登录成功后才显示。 ? ? ? ?...点击登录按钮后,登录注册界面会消失,同时显示主界面和提示消息。...总结: 1.withdraw() 隐藏窗口,iconify()也是隐藏窗口,但是其实是最小化,任务栏还是可以点击打开的,withdraw()是会消失的。
这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果: ? 学完本教程后,你也能做出这样的烟花秀。...Tkinter应用的基本设置如下: root = tk.Tk() 为了能初始化Tkinter,我们必须创建一个Tk()根部件(root widget),它是一个窗口,带有标题栏和由窗口管理器提供的其它装饰物...w = tk.Label(root, text="Hello Tkinter!") 这一行代码包含了Label部件。该Label调用中的第一个参数就是父窗口的名字,即我们这里用的“根”。...这里的打包方法是告诉Tkinter调整窗口大小以适应所用的小部件。窗口直到我们进入Tkinter事件循环,被root.mainloop()调用时才会出现。...本文只一个简单版本,等进一步熟悉Tkinter后,还可以添加更多颜色更漂亮的背景照片,让代码为你绽放更美的烟花!
这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果: 1111.jpg 学完本教程后,你也能做出这样的烟花秀。...经过一定时间后,粒子会进入“自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。...Tkinter应用的基本设置如下: root = tk.Tk() 复制代码 为了能初始化Tkinter,我们必须创建一个Tk()根部件(root widget),它是一个窗口,带有标题栏和由窗口管理器提供的其它装饰物...w = tk.Label(root, text="Hello Tkinter!") 复制代码 这一行代码包含了Label部件。该Label调用中的第一个参数就是父窗口的名字,即我们这里用的“根”。...这里的打包方法是告诉Tkinter调整窗口大小以适应所用的小部件。窗口直到我们进入Tkinter事件循环,被root.mainloop()调用时才会出现。
在GUI程序中,我们会有一个顶层窗口,在这个顶层窗口上可以包括所有的小窗口对象,像标签,按钮,列表框等等,也就是说顶层窗口时我们放置其他窗口或者控件的地方。...我们用下面的语句可以创建一个顶层窗口,或者叫根窗口: Import tkinter top = tkinter.Tk() (如果前面是用的from tkinter import * ,那么Tk()就够了...) 然后我们就可以在这个根窗口上设置“组件”了。...所有的创建和放置完毕后,就立刻进入主循环,代码如下: Tkinter.mainloop( ) Tk的组件有很多,不可能一一介绍,通过一个小例子看看其中一个标签的使用吧。...第二行,创建主窗口。 第三行,创建label标签,它是有Tkinter的一个方法Label来实现的,关于Label的帮助可以help一下。
tkinter 根窗体root: 根窗体是图像化应用程序的根控制器,是tkinter的底层控件的实例。...当导入tkinter模块后,调用 Tk()方法可初始化一个根窗体实例 root ,用 title() 方法可设置其标题文字,用geometry()方法可以设置窗体的大小(以像素为单位)。...在这个主循环的根窗体中,可持续呈现中的其他可视化控件实例,监测事件的发生并执行相应的处理程序 主窗口位置和大小通过,geometry(‘wxh ± y ± z’)方法进行设置,w为宽度,h为高度,x用于分隔高度和宽度...Tkinter 标签控件(Label)指定的窗口中显示的文本和图像。...通过构造函数_init_()初始化窗口中的对象,通过createwidgets()方法创建窗口中的对象。 Frama框架是一个tkinter组件,表示一个矩形的区域。
让 GUI 程序启动和运行起来需要以下 5 个主要步骤: 导入 tkinter 模块(python3.x版本); 创建一个顶层窗口对象,用于容纳整个 GUI 应用; 在顶层窗口对象之上(或者“其中...”)构建所有的 GUI 组件(及其功能); 通过底层的应用代码将这些 GUI 组件连接起来; 进入主事件循环; 第一步是琐碎的:所有使用 tkinter 的 GUI 程序都必须导入 tkinter...获得 tkinter 的访问权是首要步骤。 ? ① 窗口和控件 在 GUI 编程中,顶层的根窗口对象包含组成 GUI 应用的所有小窗口对象。它们可能是文字标签、按钮、列表框等。...>>> import tkinter >>> top = tkinter.Tk() tkinter.Tk() 返回的对象通常称为根窗口,这也是一些应用使用 root 而不是 top 来指代它的原因。...顶层窗口是那些在应用中独立显示的部分。GUI 程序中可以有多个顶层窗口,但是其中只能有一个是根窗口。 控件可以独立存在,也可以作为容器存在。如果一个控件包含其他控件,就可以将其认为是那些控件的父控件。
()Tk() 实例创建一个根窗口root.title 设定窗口的标题root.geometry 设定窗口的大小与相对于屏幕左上角的位置:即参数形式是:f"{width}x{height}{x}{y}",...其中 + 表示相对于左上角,而 - 表示相对于右下角使用 root.mainloop() 激活根窗口代码显示效果如下:图片组件使用当我们需要为窗口中的模块区域创建不同于窗口的主题时,我们应该如何处理呢?...# 修改根窗口的背景width = 400height = 400x = '+200'y = '+200'root.geometry(f"{width}x{height}{x}{y}")frame =...import Tk, Frame, Label, PhotoImageroot = Tk()root.title("拜仁慕尼黑")root['background'] = 'yellow' # 修改根窗口的背景...库的一些基本使用,需要提醒大家的是,Python3.x版本的库名为tkinter,Python2.x版本的库名为Tkinter。
这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果: 学完本教程后,你也能做出这样的烟花秀。...经过一定时间后,粒子会进入“自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。...Tkinter应用的基本设置如下: root = tk.Tk 为了能初始化Tkinter,我们必须创建一个Tk根部件(root widget),它是一个窗口,带有标题栏和由窗口管理器提供的其它装饰物。...w = tk.Label(root, text=”Hello Tkinter!”) 这一行代码包含了Label部件。该Label调用中的第一个参数就是父窗口的名字,即我们这里用的“根”。...这里的打包方法是告诉Tkinter调整窗口大小以适应所用的小部件。窗口直到我们进入Tkinter事件循环,被root.mainloop调用时才会出现。在我们关闭窗口前,脚本会一直在停留在事件循环。
先说结论:Python自带GUI框架,能用;几行代码开个窗口,方便。果然人生苦短,我用Python 。...简单的窗口启动代码如下: from tkinter import *Label(text="啥玩意").pack()mainloop() 运行后如图: 咋说呢,三行代码起一个GUI,这是我第一个接触到的能干这个事儿的语言...再来点元素: from tkinter import *from tkinter.messagebox import showinfodef reply(): showinfo(title="恋爱循环...Python GUI的面向对象写法以及窗口嵌套: 类定义文件TestGUI.py: from tkinter import *from tkinter.messagebox import showinfoclass...书籍和广播固然是传统的,但他仍然是人们获取知识、交流思想和传输知识的有益渠道,只要这个作用没有消失,他们也不会消失,即使他们从历史的角度来说,确实是“旧”的。
01 Tkinter Tkinter模块是Python的标准Tk GUI工具包的接口,它并不是必须掌握的,但是掌握一个Python的标准图形库还是非常有意思的一件事。...这篇文章不会介绍如何灵活地运用Tkinter,而是阐述Tkinter这个库包括什么,它能干什么!...模块,这个模块包括了所需要的所有的类和函数 然后,需要创建一个(根)窗口,它是一个普通的窗口,带有标题栏、最小化按钮、最大化按钮等,即:root = Tk() ,调用title接口,geometry分别设置根窗口的标题...然后我们就可以在该窗口上创建一个Label,即贴一个标签,这个Label可以显示文本、图标、图像等等。...常用与复杂的窗口布局。 tkMessageBox 用于显示你应用程序的消息框。
2、窗体控件布局 根窗体是图像化应用程序的根控制器,是tkinter的底层控件的实例。...当导入tkinter模块后,调用 Tk()方法可初始化一个根窗体实例 root ,用 title() 方法可设置其标题文字,用geometry()方法可以设置窗体的大小(以像素为单位)。...在初始化根窗体和根窗体主循环之间,可实例化窗体控件,并设置其属性。父容器可为根窗体或其他容器控件实例。...relx:指定组件的 X 坐标,以父容器总宽度为单位 1,该值应该在 0.0~1.0 之间,其中 0.0 代表位于窗口最左边,1.0 代表位于窗口最右边,0.5 代表位于窗口中间。...看下面的一个例子:实现四则运算计算器,将两个操作数分别填入两个文本框后,通过选择组合框中的算法触发运算,如下: from tkinter.ttk import * from tkinter import
dark green', fg='white') widget.config(font=('helvetica', 20, 'underline italic')) mainloop() 4、三个窗口...,不要显示根窗口 import tkinter from tkinter import Tk, Button tkinter.NoDefaultRoot() win1 = Tk()...win1.destroy).pack() Button(win2, text='SPAM', command=win2.destroy).pack() win1.mainloop() 6、Tk()根窗口...,Toplevel(root)子窗口,protocol('WM_DELETE_WINDOW',lambda:None)点关闭按钮无效,iconbitmap窗口图标,root.quit from tkinter...image.png 8、子窗口获得根窗口 theframe.master.xxxx 9、 """ pop up three new windows, with style destroy(
这个tk编程需要有的东西 1 创建出一个窗口 2 在窗口上面布局组件 3 让各种各样的组件活起来,也就是让各个组件有事件 以上就是之后我们学的东西 tkinter 学习 tkinter就是python...,就先创建一个窗口吧 import tkinter as tk 在代码里面导入库,起一个别名,以后代码里面就用这个别名 root = tk.Tk() 这个库里面有Tk()这个方法,这个方法的作用就是创建一个窗口...但是只是执行以上的两句代码,运行程序是没有反应的,因为只要一个主函数,从上到下执行完就没有了,这个窗口也是很快就消失了,所以现在我们要做的就是让窗口一直显示,那么我们就可以加一个循环 创建的窗口的名字是...root.mainloop() 加上以上的这句话,那么我们就可以看见窗口了 import tkinter as tk root = tk.Tk() root.mainloop() 执行以上的3句代码,我们就可以看见窗口...as tk from tkinter import messagebox root = tk.Tk() 创建窗口 btn01 = tk.Button(root) 创建按钮,并且将按钮放到窗口里面
使用 `tkinter` 库创建一个根窗口 `root` ,并设置窗口的标题为 "图书管理器"。 2....创建一个框架 `add_frame` 并将其放置在根窗口中。 4. 创建 "Play Music" 和 "Stop Music" 两个按钮,并设置它们的样式、绑定的命令以及放置在根窗口中。 5....创建一个框架 `remove_frame` 并将其放置在根窗口中。 9....创建一个框架 `search_frame` 并将其放置在根窗口中。 13. 使用 `tkinter.Label` 创建 "搜索图书标题:" 的标签,并使用 `grid()` 放置在相应的位置。...使用 `tkinter.Label` 创建一个用于显示搜索结果的标签,并使用 `grid()` 放置在相应的位置。 17. 创建一个框架 `display_frame` 并将其放置在根窗口中。
# 安装PyQt5 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5 安装成功后,来个Hello Word简单示例。...Tkinter Tkinter是Python中最受欢迎的GUI库之一。由于它简单易学的语法,成为GUI开发初学者的首选之一。...# 安装tkinter pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tkinter 下面使用Tkinter设计一个BMI计算器。...from tkinter import * from tkinter import messagebox def get_height(): # 获取身高数据(cm) height =...点击OK按钮,窗口消失。 06. PyGUI PyGUI是一个以简单API而闻名的GUI框架,减少Python应用与平台底层GUI之间的代码量。
、矩形、多边形等 Checkbutton 复选框 多项选择按钮,用于在程序中提供多项选择框 Entry 文本框输入框 用于接收单行文本输入 Frame 框架(容器)控件 定义一个窗体(根窗口也是一个窗体...# 当 Tkinter 使用 WM_DELETE_WINDOW 协议与主窗口进行交互 # 则 Tkinter 主窗口右上角 x 号的关闭功能失效, # 也就是无法通过点击 x 来关闭窗口,转变成调用用户自定义的函数...wraplength 将 Label 显示的文本分行,该参数指定了分行后每一行的长度,默认值为 0 文字程序 import tkinter as tk win = tk.Tk() win.title(...x、y 定义控件在根窗体中水平和垂直方向上的起始绝对位置 relx、rely 1....定义控件相对于根窗口(或其他控件)在水平和垂直方向上的相对位置(即位移比例),取值范围再 0.0~1.0 之间 2.
Tkinter自定义记事本 Python中我们通常使用tkinter来进行UI界面的编写,本文我们来使用tkinter实现自定义记事本。...创建记事本窗口 设定记事本菜单项 给不同的菜单项配置不同的功能选项 运行笔记本 代码实现示例 创建记事本窗口 创建窗口的时候,我们要设定好窗口的高度、宽度、文本区域以及各种菜单,与设定的内容如下: class...、窗口位置等。...import os from tkinter import * from tkinter.messagebox import * from tkinter.filedialog import *...(yscrollcommand=self.ScrollBar.set) def __quitApplication(self): ''' 用于退出程序(关了就消失
比如你想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没有用户体验的。所以开发一个图像化的小窗口,就变得很有必要。 今天,给大家介绍七个Python必备的GUI库,每一个都值得学习。...# 安装PyQt5 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5 安装成功后,来个Hello Word简单示例。...Tkinter是Python中最受欢迎的GUI库之一。...# 安装tkinter pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tkinter 下面使用Tkinter设计一个BMI计算器,以重量和高度作为输入...window.read() if event == "OK" or event == sg.WIN_CLOSED: break window.close() 结果如下: 点击OK按钮,窗口消失
领取专属 10元无门槛券
手把手带您无忧上云