0

シンプルな wxPython アプリケーションがあります。基本的に、画像とテキスト入力フィールド (a 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たが、効果がないようです。

4

1 に答える 1

0

ああ、ダープ。継承チェーンをさらに調べなければなりませんでした。

SetFocus()コントロール (この場合は) を呼び出すだけですself.control.SetFocus()

SetFocus()wxWindow のメンバー関数です。私は wxTextCtrl のドキュメントだけを見ていました。


もちろん、私はすでに質問をするまで、継承チェーンを調べようとは思いませんでした。

これはグーグルにとってかなり難しい問題なので、ここに残しておきます。うまくいけば、これは他の誰かを助けるでしょう。

于 2013-05-13T04:50:01.993 に答える