2014-02-27 97 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這有點矯枉過正。 –