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】动的なコントロールに対して,动的なコンテキストメニューを构成する。