Ubuntu 打开当前终端窗口下方/后方的Tkinter窗口,并堆叠订单列表

Ubuntu 打开当前终端窗口下方/后方的Tkinter窗口,并堆叠订单列表,ubuntu,tkinter,gnome-terminal,Ubuntu,Tkinter,Gnome Terminal,有相当多的帖子是关于尝试在顶部推一个Tkinter窗口的: 。。。我发现了一篇关于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 Typ

有相当多的帖子是关于尝试在顶部推一个Tkinter窗口的:

。。。我发现了一篇关于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终端


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

我在Windows8和Ubuntu12.04 Unity中尝试了
root.lift()
root.lower()
,它们在Python解释器控制台中的行为就像在另一个Tkinter窗口中一样。它似乎不“知道”Tkinter未创建的其余窗口,但每个
lift
lower
中的内部系统调用都会考虑它们的顺序


因此,您似乎无法使用Tkinter访问其他窗口(至少,通过查看),与它们的交互是桌面环境功能的一部分。

我在windows 8和Ubuntu 12.04 Unity中尝试了
root.lift()
root.lower()
,它们在Python解释器控制台中的行为与在另一个Tkinter窗口中的行为相同。它似乎不“知道”Tkinter未创建的其余窗口,但每个
lift
lower
中的内部系统调用都会考虑它们的顺序

因此,您似乎无法使用Tkinter访问其他窗口(至少,通过查看),与它们的交互是桌面环境功能的一部分