添付の図に示すように、Python フレームを作成する必要があります。
それを達成する方法を教えてください。
全部で 3 つのブロックがあります.. 1.ヘッダー 2.ナビゲーション 3.メインコンテンツ..
ナビゲーション ブロックは複数のフレームにする必要があります。オプションを選択するたびに変更する必要があります。
メニューナビゲーションのようなものでなければなりません
インポート ランダム インポート wx
#クラス TabPanel1(wx.Panel): #----------------------------------------- ----------------------------- def init (self, parent): """""" wx.Panel. init (自分、親=親)
colors = ["red", "blue", "gray", "yellow", "green"]
self.SetBackgroundColour(random.choice(colors))
panel1 = wx.Panel(self,size=(400,100))
panel1.SetBackgroundColour('#4f5049')
panel1gs = wx.GridSizer(2,2,1,2)
panel1gs.AddMany( [ (wx.StaticText(self,label='FirstLabel'),0,wx.EXPAND),
(wx.StaticText(self,label='SecondLabel'),0,wx.EXPAND),
(wx.StaticText(self,label='ThirdLabel'),0,wx.EXPAND),
(wx.StaticText(self,label='FourthLabel'),0,wx.EXPAND)
] )
panel1.SetSizer(panel1gs)
panel2 = wx.Panel(self,size=(400,100))
panel2.SetBackgroundColour('#4f5042')
panel3 = wx.Panel(self,size=(400,100))
panel3.SetBackgroundColour('#4f5042')
btn = wx.Button(self, label="Press Me")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(btn, 0, wx.ALL, 5)
sizer.Add(panel1, 0, wx.ALL, 5)
sizer.Add(panel2, 0, wx.ALL, 5)
sizer.Add(panel3, 0, wx.ALL, 5)
self.SetSizer(sizer)
クラス TabPanel2(wx.Panel): #----------------------------------------- ----------------------------- def init (self, parent): """""" wx.Panel. init (自分、親=親)
colors = ["red", "blue", "gray", "yellow", "green"]
self.SetBackgroundColour(random.choice(colors))
btn = wx.Button(self, label="Press Me")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(btn, 0, wx.ALL, 10)
self.SetSizer(sizer)
#
class DemoFrame(wx.Frame): """ 他のすべてのウィジェットを保持するフレーム """
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, wx.ID_ANY,
"Notebook Tutorial",
size=(800,600)
)
panel = wx.Panel(self)
notebook = wx.Notebook(panel)
tabOne = TabPanel1(notebook)
notebook.AddPage(tabOne, "Tab 1")
tabTwo = TabPanel2(notebook)
notebook.AddPage(tabTwo, "Tab 2")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(notebook, 1, wx.ALL|wx.EXPAND, 5)
panel.SetSizer(sizer)
self.Layout()
self.Show()
-------------------------------------------------- --------------------
if name == " main ": app = wx.App(False) frame = DemoFrame() app.MainLoop()
最新の変更 Newcode.py
import random
import wx
########################################################################
class PanelTextCombo(wx.Panel):
def __init__(self,parent):
wx.Panel.__init__(self,parent=parent,size=(400,100))
self.SetBackgroundColour('blue')
panel1gs = wx.GridSizer(2,2,1,2)
panel1gs.AddMany( [ (wx.StaticText(panel1,label='FirstLabel'),0),
(wx.StaticText(panel1,label='SecondLabel'),0),
(wx.StaticText(panel1,label='ThirdLabel'),0),
(wx.StaticText(panel1,label='FourthLabel'),0)
] )
panel1.SetSizer(panel1gs)
class TabPanel1(wx.Panel):
#----------------------------------------------------------------------
def __init__(self, parent):
""""""
wx.Panel.__init__(self, parent=parent)
colors = ["red", "blue", "gray", "yellow", "green"]
#self.SetBackgroundColour(random.choice(colors))
self.SetBackgroundColour('RED')
#panel1 = wx.Panel(self,size=(400,100))
#panel1.SetBackgroundColour('blue')
#panel1gs = wx.GridSizer(2,2,1,2)
#panel1gs.AddMany( [ (wx.StaticText(panel1,label='FirstLabel'),0),
# (wx.StaticText(panel1,label='SecondLabel'),0),
# (wx.StaticText(panel1,label='ThirdLabel'),0),
# (wx.StaticText(panel1,label='FourthLabel'),0)
# ] )
#panel1.SetSizer(panel1gs)
panel1 = PanelTextCombo(TabPanel1)
#panel2 = wx.Panel(self,size=(400,100))
#panel2.SetBackgroundColour('green')
#panel3 = wx.Panel(self,size=(400,100))
#panel3.SetBackgroundColour('#4f5042')
btn = wx.Button(self, label="Press Me")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(btn, 0, wx.ALL, 5)
sizer.Add(panel1, 0, wx.ALL, 5)
#sizer.Add(panel2, 0, wx.ALL, 5)
#sizer.Add(panel3, 0, wx.ALL, 5)
self.SetSizer(sizer)
class TabPanel2(wx.Panel):
#----------------------------------------------------------------------
def __init__(self, parent):
""""""
wx.Panel.__init__(self, parent=parent)
colors = ["red", "blue", "gray", "yellow", "green"]
self.SetBackgroundColour(random.choice(colors))
btn = wx.Button(self, label="Press Me")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(btn, 0, wx.ALL, 10)
self.SetSizer(sizer)
########################################################################
class DemoFrame(wx.Frame):
"""
Frame that holds all other widgets
"""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, wx.ID_ANY,
"Notebook Tutorial",
size=(800,600)
)
panel = wx.Panel(self)
notebook = wx.Notebook(panel)
tabOne = TabPanel1(notebook)
notebook.AddPage(tabOne, "Tab 1")
tabTwo = TabPanel2(notebook)
notebook.AddPage(tabTwo, "Tab 2")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(notebook, 1, wx.ALL|wx.EXPAND, 5)
panel.SetSizer(sizer)
self.Layout()
self.Show()
#----------------------------------------------------------------------
if __name__ == "__main__":
app = wx.App(False)
frame = DemoFrame()
app.MainLoop()