2012-10-13 52 views
0

編輯2:解決!我不知道什麼改變或爲什麼,但現在甚至一個RichTextCtrl可靠地追加。儘管如此,我仍然在下面留下舊信息。如何使用wxPython將文本可靠地附加到文本框的末尾?

所以我正在使用wxPython在python中編寫GUI。這個GUI的主要元素之一是一個文本框。

特點,我需要:

  1. 可靠文本追加到文本框末尾的能力。
  2. 防止用戶編輯文本框
  3. 垂直滾動條
    特點,我想:
  4. 用戶可以選擇,即使被附加更多行
  5. 文字顏色可以改變

文本考慮到這一點,我嘗試使用wxPython提供的RichTextCtrl。 但是,似乎沒有辦法可靠地將文本添加到文本框的末尾。 AppendText方法不可靠。如果我點擊文本框中的某個位置,而這種方式正在追加幾行文字,則可能會插入一行或多行文字,而我曾經移動光標。

有沒有人有任何建議如何可靠地追加文本到RichTextCtrl?每次我想添加一些內容時,我可能會清除它,並用新文本替換它的所有文本,但是我擔心由此產生的性能會很嚴重。如果有一個不同的文本控件可以更適合這個,請給出建議。

編輯:使用常規的TextCtrl可靠地追加。 RichTextCtrl仍然沒有運氣。

+0

爲什麼不使用htmlWindow? –

回答

0

AppendText適用於Windows和wxPython 2.9。如果您想阻止用戶進行編輯,您需要使用wx.TE_READ_ONLY樣式標誌。要顯示垂直滾動條,還要添加wx.TE_MULTILINE標誌。

wxPython演示顯示如何更改文本顏色。基本上,您可以通過編程方式選擇一個範圍併爲該選擇設置樣式/字體。在追加時獲得選擇文本的功能可能無法實現。在用戶完成選擇或跟蹤用戶選擇,追加和重新選擇之後,您可能必須爲追加設置某種緩衝區並追加。

相關問題