gpt4 book ai didi

ubuntu - 在当前终端窗口下方/后面打开 Tkinter 窗口,以及 stackorder 列表

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:26 24 4
gpt4 key购买 nike

有很多帖子试图将 Tkinter 窗口推到顶部:

... 和我发现的一篇文章(仅部分关于 Tkinter),用于底部的窗口,这是我感兴趣的:

...然而,在这里我想在当前终端窗口下方打开一个 Tkinter 窗口 - 假设我打开一个终端,并在那里运行 Python shell:

$ python2.7
Python 2.7.1+ (r271:86832, Sep 27 2012, 21:16:52)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter as tk
>>> root = tk.Tk()
>>> str(root)
'.'
>>> root.tk.eval('wm stackorder '+str(root))
'.'
>>> root.lower()

当我输入 root.lower() 时(非常小心,所以窗口保持在顶部,同时我按下 Enter 键),我看不到窗口堆叠顺序有任何变化桌面(即窗口只是保留在顶部)。

现在,从我从 wm stackorder 中可以看出,Tkinter 可能只跟踪它自己的窗口——而不是终端窗口(Python 本身在其中运行),终端窗口将由窗口处理适当的经理;那是对的吗? (我自己在 Ubuntu 11.04 Gnome 上使用 gnome-terminal)

在那种情况下,我想期望 lower() 会将窗口发送到桌面窗口堆叠顺序的底部是不合理的,tkinter 甚至都不知道。但这是否正确理解 - 是否没有办法从 Tkinter 发送一个窗口“返回”?

最佳答案

我已经在 Windows 8 和 Ubuntu 12.04 Unity 中尝试过 root.lift()root.lower(),它们在 Python 解释器控制台中的行为与它们一样使用另一个 Tkinter 窗口。它似乎并不“知道”不是由 Tkinter 创建的其余窗口,但每个 liftlower 中的内部系统调用将它们带入考虑订单。

所以看起来您无法使用 Tkinter 访问其他窗口(至少,通过查看 source code of the library ),并且与它们的这种交互是桌面环境功能的一部分。

关于ubuntu - 在当前终端窗口下方/后面打开 Tkinter 窗口,以及 stackorder 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16619424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com