在qt工程内加入dwkeyboard会卡死
我是多个界面,只有一个界面在使用键盘功能ui->setupUi(this);
GlobalInit();
ui->Edit_password->installEventFilter(this);
setWindowState(Qt::WindowMaximized);
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);界面设置初始化后加入键盘初始化,关联到edit,edit使用的是line_edit。
bool w_user::eventFilter(QObject *watched, QEvent *event)
{
static bool mFocusIn = false;
if (event->type()==QEvent::FocusIn)
{
mFocusIn = true;
}
else if (event->type()==QEvent::FocusOut)
{
PlatformInputContextBase->FocusOut(watched);
mFocusIn = false;
}
if (mFocusIn && event->type() == QEvent::MouseButtonPress) {
QMouseEvent *e = (QMouseEvent *)event;
PlatformInputContextBase->FocusIn(watched, e->globalPos());
}
return w_user::eventFilter(watched,event);
}
事件代码也加入了进来。
后续建立的线程和界面显示都没有了,直接卡死了。
可以参考我们的qtdemo看看,比如OK3568-linux-source/app/forlinx/forlinx_qt/ping_test 本帖最后由 qiang4119 于 2023-10-10 14:22 编辑
forqs 发表于 2023-10-10 13:59
可以参考我们的qtdemo看看,比如OK3568-linux-source/app/forlinx/forlinx_qt/ping_test
是参考的例程,但是我这边加了很多功能,会有哪些东西影响呢?我用的是widget调用的 qiang4119 发表于 2023-10-10 14:09
是参考的例程,但是我这边加了很多功能,会有哪些东西影响呢?我用的是widget调用的
找到原因了,无法直接在widget内使用,只能在mainwindow使用,在mainwindow上调用widget的控件进行注册就行了。 DWKeyboard如何调整位置,有文档吗?@forqs
页:
[1]