簡體   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