3 Commits 05df7452e3 ... 6ba0218d2c

Author SHA1 Message Date
  chenyuanjie 6ba0218d2c Merge branch 'master' of https://gowone.dy.takin.cc/liyuezong/SmartPDCode 1 year ago
  chenyuanjie 5cb41a00d3 QT修改了跨线程有概率弹不出报警框的问题 1 year ago
  chenyuanjie 4a56bf88a2 QT修改了跨线程有概率弹不出报警框的问题 1 year ago

+ 4 - 1
Qt/Qt_Test/dataupdatethread.cpp

@@ -125,6 +125,7 @@ void DataUpdateThread::SetShowWidget(Widget *pShowWidget)
 {
     pwidget=pShowWidget;
     connect(pwidget,SIGNAL(signal_ClickMSG()),this,SLOT(slot_ClickMSG()));
+    connect(this,SIGNAL(signal_ShowMSGWidget(QString)),pwidget,SLOT(ShowMSGWidget(QString)),Qt::QueuedConnection);
 }
 
 void DataUpdateThread::ReadSqlData(int nCHID)
@@ -409,7 +410,9 @@ void DataUpdateThread::ShowMSGWidget(QString strShowData)
         if(strShowData!=strNowMSG)
         {
             strNowMSG=strShowData;
-            pwidget->ShowMSGWidget(strShowData);
+            emit signal_ShowMSGWidget(strShowData);
+            //pwidget->ShowMSGWidget(strShowData);
+            qDebug()<<"emit ShowMSGWidget_Data:"<<strNowMSG;
         }
     }
 }

+ 2 - 0
Qt/Qt_Test/dataupdatethread.h

@@ -67,6 +67,8 @@ public:
     void ReadMSG();//获取报警提示
     int NextIndex();
     void ShowMSGWidget(QString strShowData);
+signals:
+    void signal_ShowMSGWidget(QString strShowData);
 public slots:
     void slot_ClickMSG();//确认msg
 public:

+ 1 - 0
Qt/Qt_Test/widget.cpp

@@ -446,6 +446,7 @@ void Widget::ShowMSGWidget(QString strShowData)
         QRect parentRect = this->geometry();
         m_pMSGWidget->move(parentRect.center() - m_pMSGWidget->rect().center());
         m_pMSGWidget->show();
+        qDebug()<<"MSGWidget_Show geometry("<<m_pMSGWidget->geometry().x()<<","<<m_pMSGWidget->geometry().y()<<","<<m_pMSGWidget->geometry().width()<<","<<m_pMSGWidget->geometry().height()<<")";
     }
 }
 

+ 5 - 2
Qt/Qt_Test/widget.h

@@ -78,8 +78,7 @@ public:
     void CtrlBtnSet(int nIndex,int nData);
     int nMAXChildIndex;
 
-    //显示msg窗口
-    void ShowMSGWidget(QString strShowData);
+
     //是否显示MSG
     bool isHiddenMSGWidget(){
         if(m_pMSGWidget)
@@ -90,6 +89,10 @@ public:
     void ClickMSGBtn();
 signals:
     void signal_ClickMSG();//报警确认
+
+public slots:
+    //显示msg窗口
+    void ShowMSGWidget(QString strShowData);
 public:
     Ui::Widget *ui;
 private:

BIN
cust_data/qt/IP/Qt_Test


BIN
cust_data/qt/Qt_Test