我有一个 wxTextCtrl,我需要在其中放入一个非常大的字符串。(就像一个 15 MB 的字符串)唯一的问题是它很慢。这是我正在做的事情:
char * buff = ...
wxString data(buff, wxConvUTF8);
text->ChangeValue(data);
然而,这不是瓶颈。只要此代码块所在的函数返回,就会发生这种情况。整个应用程序冻结约 30 秒。我在 ChangeValue 之后尝试了 wxYield,这导致字符串的前几行显示在控件中,但之后它仍然冻结。我怎样才能避免这种情况?
我必须强调 ChangeValue 几乎是瞬间返回的。延迟发生在此之后,可能在 wxTextCtrl 的内部消息处理程序或其他东西中。