wxPython 中的 SearchCtrl 看起来不一样

SearchCtrl in wxPython looks different

我正在尝试在 wxPython 中获取 searchctrl。但是我并没有得到我想要的。

我明白了:

但我希望 SearchCtrl 像这样:

我知道差别不大,只是视觉上的原因。 我将 SearchCtrl 声明为:

self.searchControl = wx.SearchCtrl(panel, -1, style=wx.TE_PROCESS_ENTER)

有谁知道我要如何声明才能获得我想要的 SearchCtrl?

我可以看到你所拥有的和你想要的之间的三个区别:

  1. 取消按钮(圆圈中的 X)
  2. 菜单指示器(放大镜旁边的箭头)。
  3. 单词的位置"Search"

None 这三个差异受声明影响。

要显示取消按钮,请调用:

self.searchControl.ShowCancelButton(True)

要显示菜单指示器,请调用:

self.SetMenu(menu)

要使文本显示在正确的位置,请阻止 sizer 垂直调整控件的大小。

例如:

#!/usr/bin/env python
import wx

app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, "Hello World")
sizer = wx.BoxSizer(wx.HORIZONTAL)

menu = wx.Menu()
menu.Append(wx.ID_ABOUT, 'About')

search = wx.SearchCtrl(frame)
search.ShowCancelButton(True)
search.SetMenu(menu)

sizer.Add(search, 0)
frame.SetSizer(sizer)
frame.SetAutoLayout(1)
sizer.Fit(frame)
frame.Show()
app.MainLoop()

产生这个: