栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Tkinter-预加载窗口?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tkinter-预加载窗口?

在您的操作系统上,tkinter似乎

Tk
在加载窗口小部件之前显示了基本窗口,从而导致了几毫秒的空白窗口。为了使其与所有已加载的小部件一起显示,您需要在启动时隐藏该窗口,并
.after
在加载后再次显示该窗口。

有多种显示和隐藏窗口的方法,就我个人而言,我通常使用

.withdraw()
从窗口管理器中删除窗口的方法(就像从未出现过的那样),然后
.deiconify()
(基本上是“最小化”)再次显示该窗口。

class TEST(tk.Tk):    def __init__(self,*args,**kw):        tk.Tk.__init__(self,*args,**kw)        self.withdraw() #hide the window        self.after(0,self.deiconify) #as soon as possible (after app starts) show again        #setup app...

完全退出窗口的另一种方法是最小化启动窗口,

.iconify()
这样它将显示在任务栏/停靠栏上,但要等到窗口完全加载后才能打开窗口。

隐藏/显示窗口的另一种方法是通过更改

-alpha
属性,就像@double_j所做的那样,但我不建议在生产代码中使用该窗口,因为从技术上讲该窗口仍在那儿,可以单击/
interacted来单击它(和关闭按钮等)。在显示可能是不希望有的内容之前,先进行了短暂的介绍,以及它的行为在操作系统之间可能是模棱两可的,请参见http://wiki.tcl.tk/9457:

Macintosh属性

-alpha双控制不透明度(从0.0到1.0)

Unix / X11属性

-alpha双控制不透明度(从0.0到1.0)。
这需要合成窗口管理器才能起作用。[compiz]是这样的一种,而xfwm4(用于XFCE桌面)是另一种。

Windows属性

-alpha两倍,整个窗口不透明; 请注意,在1.0和任何其他值之间更改可能会导致窗口闪烁 (Tk更改了用于实现顶层的窗口的类)。

因此,在某些unix机器上

-alpha
可能没有效果,并且在Windows上可能会导致窗口闪烁(即使在打开之前,这可能不是问题,但仍然值得注意)

凡为

withdraw
deiconify
同样工作在所有平台上,据我所知。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号