У меня есть панель, содержащая кнопку, а также другая панель, которая сама содержит 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()