我有一个包含按钮的面板以及另一个本身包含 textCtrl 的面板。我有一个专门用于 textctrl 的面板,因为我试图在 textCtrl 周围设置自定义边框颜色。不幸的是,我无法让 textCtrl 不填充整个面板。我怀疑它与 SetSizerAndFit 有关,但我不确定。是否可以在 textCtrl 周围有一个自定义的彩色边框?这是代码:
class MainWindow(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,wx.ID_ANY,title,size=(800,600))
self.panel=wx.Panel(self,wx.ID_ANY,style=wx.BORDER_SIMPLE)
self.panelText=wx.Panel(self.panel,wx.ID_ANY,
size=(450,40),style=wx.BORDER_SIMPLE)
self.panel.SetBackgroundColour("white")
self.panelText.SetBackgroundColour("#27bbdc")
size=self.panelText.GetSize()
self.sizerControls=wx.BoxSizer(wx.HORIZONTAL)
self.sizerMain=wx.BoxSizer(wx.VERTICAL)
#self.sizerText=wx.BoxSizer(wx.HORIZONTAL)
#-------------Objects------------
self.text=wx.TextCtrl(self.panelText,-1, style=wx.TE_READONLY|wx.NO_BORDER,
size=(size[0]-4,size[1]-4),pos=(1,1))
image=wx.Image("Button_80x80.png",wx.BITMAP_TYPE_ANY).ConvertToBitmap()
self.buttonFolder=wx.BitmapButton(self.panel,-1,bitmap=image,
size=(95,95),style=wx.NO_BORDER)
#-------------Sizers-------------
#self.sizerText.Add((0,0),1)
#self.sizerText.Add(self.text,0,flag=wx.ALIGN_CENTER)
#self.sizerText.Add((0,0),1)
self.sizerControls.Add(self.panelText,1,flag=wx.ALIGN_CENTER)
self.sizerControls.Add(self.buttonFolder,0,flag=wx.ALIGN_CENTER)
self.sizerMain.Add(self.sizerControls,1,flag=wx.ALIGN_CENTER)
#-------------Events-------------
self.Bind(wx.EVT_BUTTON, self.OnButton, self.buttonFolder)
self.panel.SetSizerAndFit(self.sizerMain)
self.Show()