0

Edit2: 解決しました! 何が変わったのか、なぜ変わったのかはわかりませんが、RichTextCtrl でさえも確実に追加されるようになりました。それにもかかわらず、私は下に古いメッセージを残しました。

だから私はwxPythonを使ってPythonでGUIを書いています。この GUI の主要な要素の 1 つはテキスト ボックスです。

必要な機能:

  1. テキスト ボックスの末尾にテキストを確実に追加する機能。
  2. ユーザーがテキストボックスを編集できないようにする
  3. 垂直スクロール バーの
    機能:
  4. さらに多くの行が追加されている場合でも、ユーザーはテキストを選択できます
  5. 文字色変更可能

それを念頭に置いて、wxPython が提供するRichTextCtrlを使用しようとしました。ただし、テキスト ボックスの末尾にテキストを確実に追加する方法はないようです。AppendText メソッドは信頼できません。この方法で複数の行が追加されているときにテキストボックス内の場所をクリックすると、カーソルを移動した場所に 1 つまたは複数の行が挿入される可能性があります。

テキストを RichTextCtrl に確実に追加する方法について何か提案はありますか? 何かを追加するたびに、それをクリアしてすべてのテキストを新しいテキストに置き換えることができるかもしれませんが、これによるパフォーマンスへの影響が深刻になるのではないかと心配しています. これにより適切な別のテキスト コントロールがある場合は、それを提案してください。

編集: 通常の TextCtrl を使用すると確実に追加されます。RichTextCtrl ではまだうまくいきません。

4

1 に答える 1

0

AppendText は、wxPython 2.9 を搭載した Windows で動作します。ユーザーが編集できないようにする場合は、wx.TE_READ_ONLY スタイル フラグを使用する必要があります。垂直スクロール バーを表示するには、wx.TE_MULTILINE フラグも追加します。

wxPython デモは、テキストの色を変更する方法を示しています。基本的に、プログラムで範囲を選択し、その選択範囲のスタイル/フォントを設定します。追加中にテキストを選択する機能を取得できない場合があります。おそらく、追加用にある種のバッファを設定し、ユーザーが選択を終了した後に追加するか、ユーザーが選択しているものを追跡し、追加してから再選択する必要があります。

于 2012-10-15T13:38:31.013 に答える