为什么鼠标悬停后只能看到Bitmap上方的TextCtrl?

时间:2017-09-14 16:28:09

标签: python-2.7 wxpython

我在位图顶部有一个TextCtrl,当我访问此面板时,TextCtrl是不可见的,只有在鼠标悬停后才可见。

如果我将图像放在TextCtrls前面,则显示字段但鼠标无法访问,只能通过TAB操作它们。

我已经尝试使用图像作为面板的背景,但它没有按照我的方式工作,因为它搞砸了我绘制的整个屏幕。

我的代码:

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是完美的。

1 个答案:

答案 0 :(得分:1)

如果您希望文本控件显示在静态位图的顶部,那么它需要将静态位图作为其父级,而不是var _options = new ChromeOptions(); _options.AddUserProfilePreference("homepage", "http://www.example.com"); _options.AddUserProfilePreference("homepage_is_newtabpage", true); _options.AddUserProfilePreference("session.restore_on_startup", 4); _options.AddUserProfilePreference("session.startup_urls", new List<string>() { "http://in.gr"}); _options.AddArgument("--homepage=http://in.gr"); var _driver = new ChromeDriver(_options);