[英]WxPython custom popup window
我正在尝试创建一个自定义窗口,其作用类似于弹出窗口,并在其失去焦点时关闭(单击弹出窗口外)。
我有一个带有几个可点击图像的框架。 如果单击其中一个图像,则会出现一个框。 此框架是基类,其内容(文本控件,网格,按钮等)将根据您单击的图像进行替换。 我的问题是我应该抓住的地方和事件。
我将尝试简化样本/伪代码。
class MainFrame(MainFrameDefinition):
# unimportant code
custom_frame_holder = CustomFrame()
for child_panel in self.lots_of_panels:
# add a panel to a map and set
custom_frame_holder.panel = child_panel
class CustomFrame(wx.Frame):
def __init__(self, parent):
# unimportant code
self.panel = # a panel that changes
self.Bind(wx.EVT_KILL_FOCUS, self.lost_focus)
def lost_focus(self, event):
self.Hide()
那么似乎是军官的问题呢? 一旦我单击CustomFrame中的控件,框架就会失去焦点,窗口将隐藏。 我试图捕获EVT_CHILD_FOCUS,然后将焦点设置回帧,但是,由于帧具有焦点,我无法写入文本控件。
我看过wxPopup和wxTransientPopup,但是他们显然有一个不允许单选按钮的错误,这对我来说没用。
如果我没有意义,请告诉我,我会尝试更好地解释。
为此目的使用wxEVT_ACTIVATE
(可能是wxPython
wx.EVT_ACTIVATE
)。
我认为弹出窗口中的单选按钮问题已在主干中修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.