2016-02-10 3 views
0

Я пытаюсь получить searchctrl в wxPython. Однако я не получаю именно то, что хочу.SearchCtrl в wxPython выглядит иначе

я получаю это:

enter image description here

Но я хотел бы получить SearchCtrl как:

enter image description here

Я знаю, что это не большая разница, это просто по визуальным соображениям. Я объявляю мое SearchCtrl как:

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

Кто-нибудь знает, как я могу объявить его для того, чтобы получить SearchCtrl как я хочу?

ответ

2

Есть три различия, которые я могу видеть между тем, что вы есть и что вы хотите:

  1. Кнопка отмены (X в круге)
  2. Индикатор меню (стрелка рядом с увеличительным стеклом).
  3. Положения слова «Поиск»

Ни один из этих трех отличий не зависит от декларации.

Чтобы получить кнопку отмены, чтобы показать, звоните:

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() 

дает следующее:

enter image description here

Смежные вопросы