我正在尝试设置一个显示,以显示添加到文本文件中的用户的玩家代号和头像,大多数情况下都是这样,但我无法让他们正确定位。在
一个我想要的快速模型:here。在
以下是我当前在开始时的内容:here
编辑:我已经从使用BoxSizer切换到使用GridSizer,这似乎解决了位置问题,它们不再重叠,但是移位问题仍然存在。在
包含用户的sizer不应该与顶部的输入sizer重叠,我不知道是什么原因造成的。
当它更新以检查新用户时会发生什么:here
可能不那么容易看到,但在第二张图中,最低的用户向下移动,随着程序的运行,它会越来越低,每次它都被自己的高度向下移动。在
相关代码区域:
创建起始尺寸
self.main_sizer = wx.BoxSizer(wx.VERTICAL)
self.widget_sizer = wx.BoxSizer(wx.VERTICAL)
#Holds input for gamertags and addition
self.input_sizer = wx.BoxSizer(wx.HORIZONTAL)
#Content to be added immediately.
self.gamer_tag_textbox = wx.TextCtrl(self, -1)
self.gamer_tag_textbox.SetFocus()
self.add_gamer_tag = wx.Button(self, -1, 'Add Friend')
#Contains the displayed content
self.user_sizer = wx.BoxSizer(wx.VERTICAL)
#Add objects to sizers
self.input_sizer.Add(self.gamer_tag_textbox, 0)
self.input_sizer.Add(self.add_gamer_tag, 0)
#Set up the sizers
self.widget_sizer.Add(self.input_sizer, 0)
self.widget_sizer.Add(self.user_sizer, 0)
self.main_sizer.Add(self.widget_sizer, 0)
self.SetSizer(self.main_sizer)
将为每个用户创建的sizer添加到主用户\u sizer。在
def display_user_content(self, details):
self.user_sizer.Clear(True)
#This is different to the original code, it originally used boxsizers in the for each loop.
self.single_user_sizer = wx.GridSizer(cols=2)
for each in details:
#Create sizer to contain user information
#Get username
username = each[0]
#Get location of image file
location = each[-1]
#Create static text to contain username
stat = wx.StaticText(self, -1, 'username')
#Load image from location and convert to bitmap.
png = wx.Image(location, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
#Create bitmap
avatar = wx.StaticBitmap(self, -1, png)
#Add to sizer
self.single_user_sizer.Add(avatar, 1)
self.single_user_sizer.Add(stat, 1)
#Add each users sizer to main user sizer
self.user_sizer.Add(self.single_user_sizer, 1)
#Add main user sizer to widget sizer
self.widget_sizer.Add(self.user_sizer, 0)
self.frame.Fit()
完整代码(减去类):here
在display_user_content函数的末尾,我每次都将user_sizer添加到widget_sizer中,这是不必要的,并且导致结果数量翻倍,我已经删除了那一行,我的代码现在可以工作了。在
固定代码:
也许这和你想要达到的目标相似?在
或者更像这样?在
^{pr2}$相关问题 更多 >
编程相关推荐