Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结合Tkinter(Python)和Swing(Jython)_Python_Swing_Tkinter_Jython - Fatal编程技术网

结合Tkinter(Python)和Swing(Jython)

结合Tkinter(Python)和Swing(Jython),python,swing,tkinter,jython,Python,Swing,Tkinter,Jython,我有一个基于Tkinter的UI,我想展示一个用Jython制作的甘特图(使用Swigs) 问题是我不想有两个不同的窗口,一个用于Tkinter UI,另一个用于Jython的甘特图 有没有办法把两样东西都放在一个窗口里 提前感谢。我感受到了您的痛苦,但是GUI工具包管理自己的窗口,大多数情况下,如果不使用特定于操作系统的本机API,共享或嵌入窗口是不可能的 您可以创建一个小程序来在方框/矩形中显示swing窗口,但Tkinter没有附带可以显示网页或小程序的小部件。相反的过程是,但我没有看到任

我有一个基于Tkinter的UI,我想展示一个用Jython制作的甘特图(使用Swigs)

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

有没有办法把两样东西都放在一个窗口里


提前感谢。

我感受到了您的痛苦,但是GUI工具包管理自己的窗口,大多数情况下,如果不使用特定于操作系统的本机API,共享或嵌入窗口是不可能的

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

如果不需要功能,那么最好捕获窗口的输出(Java示例:)并使用

import Image, ImageTk

im = Image.open('file_name').convert2byte()
tkimage = ImageTk.PhotoImage(im)

Tkinter.Label(root, image=tkimage).pack() 
旁注:


使用和Jtkinter可以以相反的方式访问工具包,但是基于Tcl的Tkinter和Swing之间的差异仍然很大,它仍然不能解决这个问题。

是的,我也想过将其保存为图像并在Tkinter中轻松加载的简单解决方案,但这对我来说是无用的,由于甘特图需要实时操作。由于您已经在使用两个不同的gui工具包,我不想引入第三层,但有些库可以将两个不同的进程“窗口”停靠(嵌入)到一个窗口中,如果您真的想实现这一点,也许您可以尝试一下。但它通常用于游戏,他们使用subprocess()启动进程,然后使用SDL(或PyGame)捕获窗口。SDL/PyGame界面可以嵌入到Tkinter中。但我觉得这有点过分了。