我希望这不是一个简单的问题,但我正在努力理解WxPython的一个项目。我需要添加一个项目的左侧和右侧的顶部栏。你知道吗
Diagram of what I am trying to achieve
我已经包括下面的代码,我正在使用(我希望它不是太长)。你知道吗
有没有可能实现我的设想?你知道吗
我主要感兴趣的是了解我哪里出了问题,请,我一直在网上搜索,但找不到任何解决办法(特别是那些有体面的解释)。你知道吗
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()
欢迎来到Stackoverflow
尺寸调整器可能非常复杂,要解决您的问题,您可以添加拉伸间隔:
我强烈建议您阅读Zetcode版面指南,因为它已经帮助了我很多次。你知道吗
相关问题 更多 >
编程相关推荐