Lock and setting json about

This commit is contained in:
Krad
2021-12-07 14:14:20 +08:00
parent f1ab2937f9
commit 1b8809d8db
9 changed files with 309 additions and 67 deletions

View File

@@ -88,6 +88,7 @@ bool InputObject::eventFilter(QObject* obj, QEvent* event)
if (event->type() == QEvent::MouseButtonPress)
{
emit touchScreen();
qDebug() << "touchScreen()";
}
//mouse button release means setfocus is useless
@@ -165,17 +166,26 @@ void InputObject::ShowPanel() {
this->showFullScreen();
this->setVisible(true);
const DWORD currentThread = GetCurrentThreadId();
qDebug() << "currentThread" << currentThread;
this->activateWindow(); //it is quite important!!!
while (QApplication::activeWindow() != this)
{
qApp->processEvents();
}
if (curLine) {
ui->lineEdit->setText(curLine->text());
ui->lineEdit->setEchoMode(curLine->echoMode());
ui->lineEdit->setInputMethodHints(Qt::InputMethodHint::ImhNoAutoUppercase);
//ui->lineEdit->setFocus(Qt::MouseFocusReason);
ui->lineEdit->setFocus();
while (QGuiApplication::focusObject() != ui->lineEdit)
{
qApp->processEvents();
}
//while (QGuiApplication::focusObject() != ui->lineEdit)
//{
// qApp->processEvents();
//}
QEvent event(QEvent::RequestSoftwareInputPanel);
QApplication::sendEvent(ui->lineEdit, &event);