繁体   English   中英

WxPython自定义弹出窗口

[英]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.

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