是否可以从其他线程隐藏qt小部件窗口
Is it possible to hide qt widget window from other thread?
是否可以从其他线程隐藏qt小部件窗口?
例如,如果使用ptr->window->hide();
从其他线程崩溃并显示错误:
无法将事件发送到其他线程拥有的对象...
在这种情况下应该使用信号和插槽还是更容易。 替代方案?
是否可以从其他线程隐藏Qt小部件窗口?
当然,您所需要的只是将工作线程上的信号与 UI 线程上的插槽连接起来。幸运的是,QWidget::hide已经是一个插槽(甚至不需要将其包装在自己的插槽中(。
// in WorkerQObject.h file:
class WorkerQObject : public QObject
{
Q_OBJECT
public:
///
signals:
void hideUI();
private:
///
};
// in WorkerQObject.cpp file:
WorkerQObject::WorkerQObject()
{
// thread initialization; move to thread etc.
connect(this, SIGNAL(hideUI()), pWidget, SLOT(hide()));
}
void WorkerQObject::methodOnWorkerThread()
{
emit hideUI();
}
相关文章:
- 由于PC显示设置的更改,Qt小部件被部分剪裁
- 有没有办法区分Qt小部件是通过鼠标单击还是通过按表键获得焦点?
- 在Qt小部件应用程序中,在重载的"paintEvent"中的"setValue"
- Qt小部件中的摄像头访问
- 精灵动画查看器应该使用哪些Qt小部件
- Qt小部件将子布局堆叠在彼此之上
- 将STL文件添加到QT小部件
- Qt小部件应用程序"Library not registered"错误
- 为什么我的Qt小部件的焦点被改变了?
- 如何将开关QML添加到QT小部件
- 从另一个线程更新QT小部件的一种详细方法
- QT小部件应用程序输出到控制台
- 在屏幕上的确切位置保存和恢复Qt小部件
- 在Qt小部件应用程序中显示cmd终端
- QSqlError("',"',"',) 在 QT 小部件应用程序中
- 处理自定义QT小部件中的输入事件
- 未找到"png.h"文件,当包含在Qt小部件项目中时
- 从 Qt 小部件应用程序调用 pyqt widget
- 当您通过Qt小部件打开文件时,是否可以'pop-up'文件?
- 如何在Qt小部件应用程序中翻译外部文件中的字符串?