1
これはnoobieの質問ではないと思っていますが、私はプロジェクトのためにWxPythonを理解しようとしています。トップバーの左右にアイテムを追加する必要があります。wxPython - 左右のレイアウト項目
Diagram of what I am trying to achieve
私が使っていたのですコードの下に含まれています(私はそれがあまりにも長くはありません願っています)。
私が想定していることを達成することは可能でしょうか?
私が主に関心を持っているのは、私が間違っていた箇所を理解することです。私はインターネットを検索していますが、解決策(特に適切な説明があるもの)を見つけることができません。 StackOverflowのに
import wx
class MyPanel(wx.Panel):
def __init__(self, parent, clientSize):
super(MyPanel, self).__init__(parent, id=wx.ID_ANY, size=clientSize)
class MainDialog(wx.Frame):
def __init__(self):
super(MainDialog, self).__init__(None, title = 'Test name',
size = (1024, 768), style = wx.CAPTION | wx.SYSTEM_MENU | wx.RESIZE_BORDER)
# Create the window client panel.
clientSize = self.GetClientSize()
self.__panel = MyPanel(self, self.GetClientSize())
self.__CreateInterface()
self.SetMinSize((1024, 765))
self.__panel.Layout()
def __CreateInterface(self):
self.__panelSizer = wx.BoxSizer(wx.VERTICAL)
topBarSizer = wx.BoxSizer(wx.HORIZONTAL)
img = wx.Image("avatar.png", wx.BITMAP_TYPE_ANY)
sb1 = wx.StaticBitmap(self.__panel, -1, wx.BitmapFromImage(img))
topBarSizer.Add(sb1, flag=wx.LEFT | wx.TOP | wx.ALIGN_LEFT, border=10)
userDataSizer = wx.BoxSizer(wx.VERTICAL)
labelCtl = wx.StaticText(self.__panel,
label='USER INFO:', style=wx.ALIGN_RIGHT, size=(350, -1))
userDataSizer.Add(labelCtl,
flag = wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_RIGHT, border = 8)
l1 = wx.StaticText(self.__panel, label = 'Glitter Gem',
style=wx.ALIGN_RIGHT, size = (350, -1))
userDataSizer.Add(l1, flag = wx.LEFT | wx.RIGHT | wx.ALIGN_RIGHT,
border = 8)
topBarSizer.Add(userDataSizer, flag = wx.ALIGN_RIGHT|wx.EXPAND)
self.__panelSizer.Add(topBarSizer, 0, wx.EXPAND, border = 8)
self.__panel.SetSizer(self.__panelSizer)
class TestApp(wx.App):
def OnInit(self):
mainDialog = MainDialog()
mainDialog.Show(True)
return True
app = TestApp()
app.MainLoop()