python - 结合 Tkinter (Python) 和 Swing (Jython)

标签 python swing tkinter jython

我有一个基于 Tkinter 的 UI,我想显示一个在 Jython 中制作的甘特图(使用 swing)

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

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

提前致谢。

最佳答案

我理解你的痛苦,但是 GUI 工具包管理自己的窗口,并且大多数时候,如果不使用操作系统特定的 native API,就不可能共享或嵌入窗口。

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

如果不需要功能,最好的选择是捕获窗口的输出(Java 示例: Swing: Obtain Image of JFrame )并在 Tkinter 上显示图形

import Image, ImageTk

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

Tkinter.Label(root, image=tkimage).pack() 

附注:

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

关于python - 结合 Tkinter (Python) 和 Swing (Jython),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22066375/

相关文章:

python - Tkinter 标签不显示图像

python - 如何在ajax中使用django url?

python - 为什么 go build 找不到 Py_None?

java - 如何使 String 值调用 java 中特定的现有 JButton 变量名?

java - 如何从外部类访问 CardLayout 变量?

java - 从 Swing 应用程序创建 Web 应用程序

python - Tkinter 自定义框架不工作

python - 如何在不同乘法表之间插入换行符?

python - 如何使用 Pandas 按日期和字符串 multiIndex 聚合数据,然后打印到 .csv?

python - 如何捕获长时间运行的程序的输出并将其呈现在 Python 的 GUI 中?