1

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()
4

1 に答える 1