在wxpython应用程序中导入tkinter小部件作为面板

时间:2014-09-02 11:52:32

标签: python user-interface tkinter wxpython

我使用Tkinter的canvas小部件创建了一个模拟转速表,我想在wx GUI应用程序中导入它(可能是一个面板)。有没有办法做到这一点,或者我必须在wx中重写这个小部件?

3 个答案:

答案 0 :(得分:2)

没有(简单)方法可以做到这一点--WxWidgets是不同系统中不同工具包的抽象,并使用不同的主循环函数,而Tkinter有自己的主循环 - 即开始。

因此,要使这项工作符合要求:

  1. 你设置了不同的线程,可以运行两个主循环 paralell,
  2. 找到一种方法让Tkinter将小部件渲染为 在内存位图
  3. 在wx中创建一个可呈现的自定义窗口小部件 那个位图到屏幕
  4. 并将事件映射回Tkinter,如果 它应该响应事件
  5. 所以你最好再次写小部件。

答案 1 :(得分:1)

WxPython有一个速度计小部件,而不是使用它。

import wx.lib.agw.speedmeter

答案 2 :(得分:0)

您必须在wxPython中重写窗口小部件,或者找到一个与wx已包含的内容相同的窗口小部件。 Tkinter是一个完全不同的GUI工具包,它绘制自己的小部件并基于TCL,而wxPython是基于C ++的wxWidgets的包装器。没有简单的方法可以将Tkinter中的小部件嵌入到wxPython中。

正如Yoriz所说,您可以在wxPython中使用speedmeter小部件。查看wxPython演示包,因为它将向您展示如何使用该小部件以及大多数wxPython的其他小部件。希望你能找到已经包含的东西。否则,您可能需要查看以下页面: