我有一个简单的wxPython应用程序。它基本上有一个图像和一个文本输入字段(wx.TextCtrl
)。
我希望能够在窗口打开后立即开始输入文本。现在,我必须首先单击文本控件,然后我才能开始输入文本。
这是一个演示此问题的最小应用:
import wx
class MyFrame(wx.Frame):
""" We simply derive a new class of Frame. """
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title, size=(200, 100))
mainSizer = wx.BoxSizer(wx.VERTICAL)
self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)
mainSizer.Add(self.control, 1, wx.EXPAND)
self.SetSizer(mainSizer)
self.Show(True)
app = wx.App(False)
frame = MyFrame(None, 'Small editor')
app.MainLoop()
我用wx.SetInsertionPoint
戳了戳,但这似乎没有任何效果。
答案 0 :(得分:0)
您只需在控件上调用SetFocus()
(在本例中为self.control.SetFocus()
)。
SetFocus()
是wxWindow的成员函数。我只是在查看wxTextCtrl的文档。
当然,在我提出这个问题之前,我没想过会查找继承链。
我要离开这里,因为这是一个非常难以谷歌的问题。希望这会帮助其他人。