SetValue() メソッドを使用して、wx.TextCtrl に多数の float アイテムのリストの文字列表現を表示しようとしています。
表示される文字列の長さが 6151 文字に達するとすぐに、TextCtrl は空白になり、文字列を表示しません。テキスト コントロールの一部を通常どおりコピーしてどこかに (テキスト エディタなどに) 貼り付けることはできますが、テキスト コントロール自体の文字は画面に表示されません。
テキスト コントロールの値がテキスト コントロールに表示されないのはなぜですか? 文字列が 6150 文字を超える場合、文字列を表示するにはどうすればよいですか?
これは、SetValue メソッドを使用してテキスト コントロールの値を設定するとき、およびテキスト コントロールに入力するときに発生します。
テキスト コントロールの最大長を変更しても解決しませんでした。
環境:
- Windows 10 (64 ビット)
- パイソン 2.7.10
- wxPython 3.0
コード例:
import wx
import os
class MainWindow(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title, size=(200,-1))
self.control = wx.TextCtrl(self)
self.control.SetMaxLength(10000) #doesn't help
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.control, 1, wx.EXPAND)
self.SetSizer(self.sizer)
self.SetAutoLayout(1)
self.sizer.Fit(self)
self.Show(True)
app = wx.App(False)
frame = MainWindow(None, "Sample editor")
app.MainLoop()