2014-02-27 67 views
1

我有一个基于TKinter UI,我想显示甘特图是在Jython中取得(使用波动)结合的Tkinter(Python)的和Swing(Jython的)

的事情是,我不想有两个不同的窗口,一个用于Tkinter UI,另一个用于Jython的甘特图。

有没有办法将两个东西放在一个窗口中?

在此先感谢。

回答

1

我觉得你的痛苦,但是GUI工具包管理自己的窗口,大部分时间不可能共享或嵌入窗口,而不使用操作系统特定的本机API。

您可以创建一个小程序,以在方框/矩形中显示您的摆动窗口,但Tkinter不附带可显示网页或小程序的窗口小部件。相反的过程是technically possible,但我还没有看到任何现实世界的实际例子。

如果不需要的功能,最好的办法是捕捉窗口输出(Java示例:Swing: Obtain Image of JFrame),并与

显示上的Tkinter您的图形在一个侧面说明:

有可能以Jpype和Jtkinter的相反方式访问工具包,但基于Tcl的Tkinter和Swing之间的区别是仍然很好,它仍不能解决此问题。

+0

是的,我也考虑过将它作为图像保存并轻松加载到Tkinter中的简便方法,但这对我来说是无用的,因为甘特图需要实时操作。 –

+0

既然你已经使用了两个不同的GUI工具箱,我不想引入第三层,但是一些库可以将两个不同的进程'窗口'嵌入(嵌入)到一个窗口中,也许你可以尝试,如果你真的想要实现这个。它通常用于游戏,但它们使用subprocess()启动进程,然后使用SDL(或PyGame)捕获窗口。 SDL/PyGame表面可以嵌入到Tkinter中。但imho这有点矫枉过正。 –