0
我在位圖頂部有一個TextCtrl,當我訪問此面板時,TextCtrl是不可見的,只有在鼠標懸停後纔可見。位圖頂部的WxPython TextCtrl僅在鼠標懸停後纔可見
如果我把圖片放在TextCtrls的前面,這些字段出現,但鼠標不可訪問,只能通過TAB操縱它們。
這個問題只發生在Windows,Linux是完美的。
我已經嘗試過使用該圖像作爲面板的背景,但它沒有按照我的方式工作,因爲它弄亂了我繪製的整個屏幕。
我的代碼:
def LoadBox(self):
font = wx.Font(11, wx.FONTFAMILY_DEFAULT,
wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)
font1 = wx.Font(10, wx.FONTFAMILY_DEFAULT,
wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)
font1.SetPixelSize(wx.Size(0, 20))
font2 = wx.Font(11, wx.FONTFAMILY_DEFAULT,
wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)
xPos1 = 131
xPos2 = 392
hFiel = 50
wFiel = 80
self.steV = wx.StaticText(self, -1, _("Text 1"),
pos=(255, 490), size=(200, hFiel))
self.steV.SetFont(font)
tctV1 = wx.TextCtrl(self, value='', pos=(xPos1, 316), size=(wFiel, -1))
tctV1.SetFont(font2)
tctV2 = wx.TextCtrl(self, value='', pos=(xPos2, 332), size=(wFiel, -1))
tctV2.SetFont(font)
tctV3 = wx.TextCtrl(self, value='', pos=(xPos1, 362), size=(wFiel, -1))
tctV3.SetFont(font2)
tctV4 = wx.TextCtrl(self, value='', pos=(xPos2, 378), size=(wFiel, -1))
tctV4.SetFont(font)
self.steV5 = wx.StaticText(self, -1, _("Text 2"), pos=(217, 410),
style=TE_RIGHT)
self.steV5.SetFont(font1)
self.steV5.SetForegroundColour(wx.Colour(50,50,50))
tctV5 = wx.TextCtrl(self, value='', pos=(xPos1, 408), size=(wFiel, -1))
tctV5.SetFont(font2)
tctV6 = wx.TextCtrl(self, value='', pos=(xPos2, 424), size=(wFiel, -1))
tctV6.SetFont(font)
if self.osName == 'Windows':
fontX = wx.Font(10, wx.FONTFAMILY_DEFAULT,
wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)
fontX.SetPixelSize(wx.Size(0, 16))
self.steV5.SetPosition((233, 410))
self.steV5.SetSize(wx.Size((80, 20)))
self.steV5.SetFont(fontX)
else:
self.steV5.SetSize(wx.Size((72, hFiel)))
png = wx.Image('imgs/image.png',
wx.BITMAP_TYPE_ANY).ConvertToBitmap()
self.bitmap = wx.StaticBitmap(self, -1, png, pos=(25, 245),
size=(png.GetWidth(), png.GetHeight()))
感謝您的幫助!
只需要注意:這種方式只能在Windows上運行,在Linux上存在分段錯誤。 – msribeir
RobinDunn只是一個問題,在將字段作爲位圖的父項之後,TAB事件不再起作用。你可能知道如何糾正這個問題嗎?我搜索了參考,我所做的嘗試都失敗了。 – msribeir