0
我必須從HyperlinkCtrl()小部件切換到StaticText(),並且在某些條件下也可以反轉,或者爲wxPython中的某個特定字段調用不同的函數。如何將重新定義的wx小部件添加到已創建的盒子大小中?
但是佈局和sizer已經創建了字段列表,其中一個是我們之前說的HyperlinkCtrl()。所有的佈局和尺寸都保存在兩個獨立的函數中。
因此,通過HyperlinkCtrl()的功能Disabled()
和Enabled()
實現切換。
問題出在用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()
要禁用和啓用小部件我做了下面的方法。
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")
隨着靜態文本創建了上述變化,但我無法投入篩分器,也從靜態文本轉換爲超鏈接無法正常工作。
請幫我解決這個問題。
感謝您的答覆,你能給我舉個例子嗎? – Nithya