Răsfoiți Sursa

initiative redraw

xuqiang 5 luni în urmă
părinte
comite
6f5dfc202d
1 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  1. 6 2
      src/mainwindow.cpp

+ 6 - 2
src/mainwindow.cpp

@@ -75,18 +75,22 @@ void MainWindow::onUpdateScreen(const QJsonObject &obj)
         AbstractWidget *pAbstractWidget = static_cast<AbstractWidget *>(widgets[i]);
         QStringList widgetParameters;
         QMetaObject::invokeMethod(pAbstractWidget, "parameters",
-                                      Qt::DirectConnection, Q_RETURN_ARG(QStringList, widgetParameters));
+                                      Qt::AutoConnection, Q_RETURN_ARG(QStringList, widgetParameters));
 
         for(auto parameter : widgetParameters)
         {
             QMetaObject::invokeMethod(
                 pAbstractWidget,
                 "setValue",
-                Qt::DirectConnection,
+                Qt::AutoConnection,
                 Q_ARG(QString, parameter),
                 Q_ARG(QVariant, obj[parameter].toVariant()),
                 Q_ARG(QString, Utils::timestamp()));
         }
+        QMetaObject::invokeMethod(
+                pAbstractWidget,
+                "redraw",
+                Qt::AutoConnection);
     }
 
     qint64 duration = timer.elapsed(); // 获取经过的毫秒数