繁体   English   中英

如何检测wxpython中是否显示了小部件?

[英]How to detect if a widget is shown or not in wxpython?

我怎么知道是否显示一个小部件?
“ self.IsShown”用于窗口。

小部件继承自wx.Window,因此具有IsShown方法

import wx
from wx.lib import sized_controls


class TestFrame(sized_controls.SizedFrame):

    def __init__(self, *args, **kwargs):
        super(TestFrame, self).__init__(*args, **kwargs)

        pane = self.GetContentsPane()
        self.btn = wx.Button(pane, label='Hide')
        self.btn.Bind(wx.EVT_BUTTON, self.on_btn)
        self.btn_hidden = wx.Button(pane, label='Hidden?')

        self.s_txt = wx.StaticText(pane, label='Button shown: True')

    def on_btn(self, event):
        is_shown = not self.btn_hidden.IsShown()
        self.btn_hidden.Show(is_shown)
        self.s_txt.SetLabel('Button shown: {}'.format(is_shown))
        if is_shown:
            self.btn.SetLabel('Hide')
        else:
            self.btn.SetLabel('Show')

if __name__ == '__main__':
    wxapp = wx.App(False)
    main_app_frame = TestFrame(None)
    main_app_frame.Show()
    wxapp.MainLoop()

暂无
暂无

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

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