使用 wxthread 在 C++ 中更新 wxframe 的内容
Use wxthread to update content of wxframe in C++
我是使用线程的新手。我在C++
开发了一个程序,该程序使用wxwidgets
来显示通过网络接口接收的数据包计数。到目前为止,我所做的是:我在wxdialog
中有一个wxbutton
。单击按钮时,将打开包含wxgrid
的wxframe
。wxgrid
包含接口名称、数据包传入和数据包输出等信息。
现在我需要的是不断更新数据包输入和数据包输出字段。我有一个计算数据包输入和输出的函数。所以我认为我需要连续执行该功能,直到用户关闭frame
。
我希望可以利用wxthread
来执行此操作。但是不知道如何开始或如何从线程执行函数。有人可以指导我吗..谢谢
工作线程不能直接访问任何 GUI 对象,因此您需要将事件发布到主线程,您可以在主线程中为它们定义事件处理程序,这些处理程序将执行您需要的任何操作。对于此类事件,有一个方便的基类称为 wxThreadEvent
,您可能会发现它很有用。
或者,特别是如果你使用 C++11,你可以使用 CallAfter(),它允许你在主线程上下文中执行回调。这对于 C++11 lambda 特别好,因为它允许您将所有代码保存在同一个位置,而无需将其提取到单独的事件处理程序中。
相关文章:
- 从C++本机插件更新Vector3数组
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- cmake更新缓存的变量
- 更新到莫哈韦后出现cmath错误
- OpenMP:并行更新数组总是需要减少数组吗
- 为什么我的变量没有更新,我的 LED 没有亮起?
- 指针没有更新它在void函数内部指向的值
- 如何在c++中获取要更新的值
- 已修改的LinkedList未在文本文件本身中更新
- Qt:当QListView获得新条目时,如何更新QStringList
- 更新的矢量元素不打印
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 如何在ECS框架中更新组件数据和通知系统
- 从VS 2015更新3更新到VS2015更新3 d后浮点计算行为不同的原因
- 如果我想在没有更新编译器的情况下使用新功能,该怎么办?
- 如何在 C++11 中查找和更新向量中的一个嵌套结构
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 在 emscripten 网页汇编正在运行期间更新进度条?
- 在运行时使用范围更新结果
- 使用 wxthread 在 C++ 中更新 wxframe 的内容