Мне нужно переключиться с виджета HyperlinkCtrl() в StaticText(), а также вернуться в некоторых условиях или вызвать разные функции для одного конкретного поля в wxPython.Как добавить переопределенные виджеты wx в уже созданные полевые sizer?
Но макет и сизеры уже созданы со списком полей, а один из них является нашим до указанного гиперссылкиCtrl(). Все макеты и sizers хранятся в двух отдельных функциях.
Таким образом, коммутация осуществляется с помощью Disabled()
и Enabled()
функций HyperlinkCtrl().
Проблема возникает после переопределения с помощью StaticText() и не может добавить это в box sizer.
def createLayout(self):
#some code
........
self.Author = wx.HyperlinkCtrl(self, -1, "", "~")
self.Author.SetFont(self.fontSmall)
..........
def createSizers(self):
............
self.mainSizer = wx.BoxSizer(wx.VERTICAL)
...............
self.DetailsSizer = wx.BoxSizer(wx.VERTICAL)
self.DetailsSizer.Add(self.Author, 0, wx.ALIGN_LEFT)
.................
def changeFunc(self):
if true
self.hyperFunc()
else
self.statisFunc()
Чтобы отключить и включить виджеты, я сделал следующий mothod.
def staticFunc(self):
# Author & URL
self.Author.Hide()
if self.Author.IsEnabled():
self.Author = wx.StaticText(self, -1, "N/A")
self.Author.SetFont(self.fontSmall)
self.Author.Disable()
self.Author.Show()
def hyperFunc(self):
self.Author = wx.HyperlinkCtrl(self, -1, "", "")
self.Author.Enable()
self.Author.SetURL("name")
С учетом указанных выше изменений создается StaticText, но я не мог в классификаторе, а также переход от StaticText в гиперссылке не работает должным образом.
Пожалуйста, помогите мне в этом.
благодарит за ответ, и можете ли вы дать мне пример PLS? – Nithya