我只有一个QMainWindow和mainwindow.ui,我有桌子,按钮等...... 从一个按钮我想动态创建小部件并在其上设置evenFilter。
QWidget dialog = new QWidget();
dialog->installEventFilter(this);
当我编译程序时它会说QObject::installEventFilter(): Cannot filter events for objects in a different thread.
如何将此小部件添加到与其他Qobjects的线程或什么是此问题的最佳解决方案?
答案 0 :(得分:0)
你不应该从非gui线程创建gui小部件。
创建QWidget的子类并在那里安装eventFilter,放入信号以返回结果。
然后将信号从您的线程发送到主线程插槽以创建此QWidget dialog = new MyWidget()
并根据需要使用。