wxPython在应用程序启动时设置选定的控件

时间:2013-05-13 04:47:04

标签: python wxpython

我有一个简单的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戳了戳,但这似乎没有任何效果。

1 个答案:

答案 0 :(得分:0)

啊,德普尔。我不得不进一步了解继承链。

您只需在控件上调用SetFocus()(在本例中为self.control.SetFocus())。

SetFocus()是wxWindow的成员函数。我只是在查看wxTextCtrl的文档。


当然,在我提出这个问题之前,我没想过会查找继承链。

我要离开这里,因为这是一个非常难以谷歌的问题。希望这会帮助其他人。