该问题来自社区帖: https://bbs.csdn.net/topics/617652341.为符合问答规范, 该问题经过ChatGPT优化
以下是我优化后的问题: ```
以下是我优化后的问题: ```
下面是我的代码:
import wx
class RoundedList(wx.Window):
def __init__(self, master, pos, size):
self.items = {}
self.box = wx.BoxSizer(wx.VERTICAL)
self.size = size
super().__init__(master, id=wx.ID_ANY, pos=pos, size=size)
self.x = size[0]
self.y = size[1]
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_SIZE, self.OnSize)
text1 = wx.StaticText(self, label='1')
text2 = wx.StaticText(self, label='2')
self.box.Add(text1)
self.box.Add(text2)
self.SetSizer(self.box)
def OnPaint(self, event):
self.pdc = wx.PaintDC(self)
self.pdc.SetPen(wx.Pen((0, 176, 80)))
self.pdc.SetBrush(wx.Brush((0, 224, 100)))
self.pdc.DrawRoundedRectangle(0, 0, self.x, self.y, 5)
def OnSize(self, event):
self.Refresh()
app = wx.App()
frame = wx.Frame(None, id=wx.ID_ANY, title='', size=(810, 650),
style=wx.DEFAULT_FRAME_STYLE)
frame.Show()
a = RoundedList(frame, pos=(200, 200), size=(200, 100))
app.MainLoop()
效果:
我的想法是,应该两个文本往下排列,上面是1,下面是2,但是现在2把1给盖上了,布局没起作用。倒是我用绝对布局的时候可以布局。
在我用到这段代码的程序上,效果是这样的:
而且用pos参数在这里也无效了。
``` 请检查以上优化后的问题是否满足您的要求。