gpt4 book ai didi

c++ - Linux wxwidgets 中的 Freeze() 和 Thaw() 函数问题

转载 作者:行者123 更新时间:2023-11-28 07:08:55 29 4
gpt4 key购买 nike

我在窗口中使用 wxwidgets 进行了项目然后我试图在 linux 上运行它但是我在使用 freeze&thaw 函数时遇到了一些问题。

它能在 linux 上工作吗?还有其他选项可以卡住窗口吗?

这是我的代码:

void *UpdateModeltreeThread::Entry()
{
m_PtrTree->Freeze();

m_PtrTree->ProcessUpdateModelTree();

m_PtrTree->Thaw();

return NULL;
}

注意:我正在使用 wxThread 运行上面的东西

ProcessUpdateModelTree() 在此函数中,我将树项添加到 wxtreelistctrl 那里有许多树项,所以我使用卡住和解冻,使用线程函数在后端运行 < strong>它在 windows 中工作但在 linux 中不工作

问题:在 Freeze() 和 Thaw() 调用绘制事件的过程中,因为它在 treelistctrl 绘制事件中崩溃了,但是这个东西在窗口中没有发生

最佳答案

您绝对不能从工作线程调用 GUI 方法,例如 Freeze()Thaw(),就像您在这里做的那样.你必须调用他们,或者更好的是,使用更安全的 wxWindowUpdateLocker来自主线程。

关于c++ - Linux wxwidgets 中的 Freeze() 和 Thaw() 函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21329369/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com