python wxPython中のコントロール阶层

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python wxPython中のコントロール阶层相关的知识,希望对你有一定的参考价值。

#coding: utf-8
import wx

class MyApp(wx.App):
    def OnInit(self):
        # メインフレームなので親のフレームはNoneにする
        self.frame = MyFrame(None, title="The Main Frame")
        self.SetTopWindow(self.frame)
        self.frame.Show()
        return True

class MyFrame(wx.Frame):
    def __init__(self, parent, id=wx.ID_ANY, title="",
                 pos=wx.DefaultPosition, size=wx.DefaultSize,
                 style=wx.DEFAULT_FRAME_STYLE, name="MyFrame"):
        super(MyFrame, self).__init__(parent, id, title, pos, size, style, name)

        self.panel = wx.Panel(self)
        self.panel.SetBackgroundColour(wx.BLACK)
        button = wx.Button(self.panel, label="Push Me", pos=(50, 50))
        self.btnId = button.GetId()

        # イベントハンドラ
        self.Bind(wx.EVT_BUTTON, self.OnButton, button);

    def OnButton(self, event):
        """ボタンがクリックされたときに呼ばれる"""
        # 子のコントロールを取得
        print "Frame GetChildren:"
        for child in self.GetChildren():
            print "%s" % repr(child)

        # IDでコントロールを検索
        # わざわざIDで検索しないでオブジェクトをselfに入れておけばよいのでは?
        print "Panel FindWindowById:"
        button = self.panel.FindWindowById(self.btnId)
        print "%s" % repr(button)
        # ボタンのラベルを変える
        button.SetLabel("Changed Label")

        print "Button GetParent:"
        panel = button.GetParent()
        print "%s" % repr(panel)

        print "Get the Application Object:"
        app = wx.GetApp()
        print "%s" % repr(app)

        print "Get the Frame from the App:"
        frame = app.GetTopWindow()
        print "%s" % repr(frame)

if __name__ == "__main__":
    # redirect=Trueにすると標準出力がポップアップに表示される
    # filename="log.txt"とするとポップアップではなくファイルに出力される
    # redirect=Falseにするとコンソールに出力される
    app = MyApp(False)
    app.MainLoop()

以上是关于python wxPython中のコントロール阶层的主要内容,如果未能解决你的问题,请参考以下文章

csharp 别スレッドからメインスレッドのコントロールにアクセスするラムダ式

xml 【WPF】コントロールのフォーカスのと风格FocusVisualStyle

csharp シェーダのコンパイル部分コード

vbscript 的ActiveXコントローラーでタブ移动の実装サンプル

javascript 【气】Qiitaのコントリビュート取得

xml 【执笔中】【WPF】【MVVM】动的なコントロールに対して,动的なコンテキストメニューを构成する。