繁体   English   中英

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

[英]import a tkinter widget in wxpython application as a panel

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

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

因此,使这项工作需要:

  1. 您设置了不同的线程,能够在并行中运行两个主循环,
  2. 找到一种方法让Tkinter将小部件渲染到内存位图中
  3. 在wx中创建一个自定义小部件,它会将该位图呈现给屏幕
  4. 并将事件映射回Tkinter,如果它应该响应事件

所以你最好再次写小部件。

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

import wx.lib.agw.speedmeter

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM