前提・実現したいこと
wxpythonでGUiを作成中です。
GUIにはコンボボックスとトグルボタンとStaticTextを配置しました。
コンボボックスでOntextイベントを行う際
コンボボックス内のテキストと同時にトグルボタンのステータス(TRUE or FALSE)も取得させたいです。
以下、コードになります。
python
1import wx 2import os 3 4class MainFrame(wx.Frame): 5 6 def __init__(self): 7 wx.Frame.__init__(self, None, wx.ID_ANY, 'logplot') 8 panel = wx.Panel(self, wx.ID_ANY) 9 panel.SetBackgroundColour(wx.Colour(128, 128, 128)) 10 11 #combobox 12 combobox_1 = wx.ComboBox(panel, wx.ID_ANY, 'select ScanList', choices = ("1","2","3"), style = wx.CB_READONLY) 13 combobox_1.Bind(wx.EVT_TEXT, self.Ontext) 14 15 #button 16 button_1 = wx.ToggleButton(panel, wx.ID_ANY, 'Line/Log') 17 button_1.Bind(wx.EVT_TOGGLEBUTTON, self.button_click) 18 19 #Text 20 text_1 = wx.StaticText(panel, wx.ID_ANY, ) 21 22 vbox_1 = wx.BoxSizer(wx.VERTICAL) 23 vbox_1.Add(combobox_1, 0, wx.LEFT | wx.RIGHT, 10) 24 vbox_1.Add(button_1, 0, wx.RIGHT, 10) 25 vbox_1.Add(text_1, 0, wx.RIGHT, 10) 26 27 panel.SetSizer(vbox_1) 28 29 def button_click(self, event): 30 button_1 = event.GetEventObject() 31 if button_1.GetValue(): 32 button_1.SetLabel("Log") 33 else: 34 button_1.SetLabel("Line") 35 print(button_1.GetValue()) 36 37 def Ontext(self, event): 38 #print(button_1.GetValue()) 39 combobox_1 = event.GetEventObject() 40 print(combobox_1.GetValue()) 41 42if __name__ == '__main__': 43 app = wx.App() 44 MainFrame().Show() 45 app.MainLoop() 46 47
###分からないこと
・statictextにコンボボックスの値とトグルボタンの値を受け渡す方法
イメージは、Ontext()イベントでコンボボックスをマウスのホイールでころころするとその都度コンボボックスのテキスト値とトグルボタンの値を読み取って表示させることです。
補足情報(FW/ツールのバージョンなど)
windows 7 professional 64bit
python3.6
wxpython
matplotlib
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/17 07:18
2018/07/17 07:44