我可以将Kivy中的Tkinter窗口用作GUI的子部分吗?

时间:2019-05-03 11:31:14

标签: python tkinter kivy

我是猕猴桃和Tkinter的新手。

我想使用kivy作为我的根(主)GUI。但我也想在其中添加Tkinker作为子部分。

是否有可能将tkinter窗口集成(修复)在kivy GUI中作为子部分???

示例:

猕猴桃代码:

from kivy.app import App
from kivy.uix.image import Image

class MyApp(App):
  def build(self):
    return Image(source="./Logo.png")

MyApp().run()

奇异果输出:

kivy output

Tkinter代码:

import tkinter
window = tkinter.Tk()
window.title("GUI")

tkinter.Label(window, text = "Username").grid(row = 0) 
tkinter.Entry(window).grid(row = 0, column = 1) 
tkinter.Label(window, text = "Password").grid(row = 1)
tkinter.Entry(window).grid(row = 1, column = 1) 
tkinter.Checkbutton(window, text = "Keep Me Logged In").grid(columnspan = 2)

window.mainloop()

tkinter输出:

thinter output

预期输出:

expected output

我试图集成两个代码,但是它一个接一个地执行。 在kivy GUI中添加tkinter窗口的任何方法。

2 个答案:

答案 0 :(得分:0)

无法正常加载窗口tk。但是您可以尝试将两个程序创建为具有statick位置的程序(但这很难),或者只是看看如何在一个框架中编写所有代码

答案 1 :(得分:0)

可能可以在tkinter窗口的opengl上下文中运行Kivy,但是对此不提供任何支持,您必须编写大量代码才能使其工作。基本上,您需要为Kivy窗口编写一个tkinter后端提供程序。

我不建议这样做,在一个框架内完成所有操作会容易得多。