我在我的应用程序中使用wxStaticText并使用基本设置
wxStaticText* m_staticText8 = new wxStaticText( m_panel3, wxID_ANY, wxT("Description"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText8->Wrap( -1 );
fgSizer6->Add( m_staticText8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
它是一个多线程应用程序,主要工作发生在子线程中。 文本的标签在整个申请过程中都没有变化。
问题在于"描述"标签闪烁,有时在子线程负载繁重时会消失一段时间。 我不知道如何解决它,以便标签不刷新/闪烁/消失。任何人都知道怎么做?
答案 0 :(得分:1)
我只收到了我发布问题的那么多信息,因此我没有隐藏任何可能导致更准确回复的信息。我没有添加更多代码,因为它是我与静态文本相关的所有代码。更重要的是一个巨大的项目,我不可能在这里发布所有这些。没有别的了。我发布了这个问题,以防万一其他人已经经历并修复过,他们或许可以识别并回答。
话虽这么说,我已设法使用旧帖https://wiki.wxwidgets.org/Flicker-Free_Drawing中提到的方法(启用双缓冲和禁用擦除背景)来减少闪烁。
这减少了创建闪烁效果的文本的刷新。但问题并没有完全消失。然后通过蛮力,我设法找到wxForm中的布局顺序,这有助于保持文本在很大程度上稳定。我不确定它为什么会起作用,但它确实如此。我不得不添加wxStaticBoxSizer,它有wxPanel,它有wxFlexGridSizer,它有wxStaticText。不要问我怎么可能解决闪烁的问题,因为我没有答案。但不知何故以这种方式将面板内的文本保持在一起。如果有人在那里知道原因,请让我和其他人知道。
感谢。