From 509cab4025caa96e6b3e3962916b0d8cdadc4b93 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期三, 20 八月 2025 23:35:29 +0800
Subject: [PATCH] 250820

---
 getstocklist.cpp |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 100 insertions(+), 3 deletions(-)

diff --git a/getstocklist.cpp b/getstocklist.cpp
index ffd5dc6..2bb6f5e 100644
--- a/getstocklist.cpp
+++ b/getstocklist.cpp
@@ -7,6 +7,7 @@
 #include <QJsonObject>
 #include <QJsonArray>
 #include <QLibrary> // 鐢ㄤ簬鍔犺浇dll鍔ㄦ�佸簱鐨勭被
+#include <QDateTime>
 
 
 #pragma execution_character_set("utf-8")
@@ -19,6 +20,8 @@
     ui->pushButton_get->hide();
     ui->statusbar->hide();
 
+    // 娉ㄥ唽鍏冪被鍨�
+    qRegisterMetaType<QVector<QVector<QString>>>("QVector<QVector<QString>> &");
     // 鏂规2:
     // 濡傛灉https 璁块棶鐨勬椂鍊欙紝杩樻槸鐖彇澶辫触锛屽彲浠ヤ唬鐮佸姞杞藉姩鎬佸簱鏉ユ敮鎸�
     // 鍓嶆彁鏉′欢鏄妸2涓猟ll鍔ㄦ�佸簱鎷疯礉鐨勭敓鎴愮洰褰曚腑:libeay32.dll 鍜� ssleay32.dll
@@ -42,9 +45,9 @@
 
     // 妯″瀷鍙婅〃鏍艰鍥�
     m_model = new QStandardItemModel(this);
-    m_model->setColumnCount(10); // 璁剧疆10鍒�
+    m_model->setColumnCount(11); // 璁剧疆11鍒�
     QStringList labels;
-    labels<<"鑲$エ鍚嶅瓧"<<"鑲$エ浠e彿"<<"鎬诲競鍊�(浜�)"<<"娴侀�氬競鍊�(浜�)"<<"娑ㄨ穼骞�(%)"<<"鏀剁洏浠�"<<"鎴愪氦棰�(浜�)"<<"鎴愪氦閲�(鎵�)"<<"鎹㈡墜鐜�(%)"<<"甯傜泩鐜�";
+    labels<<"鑲$エ鍚嶅瓧"<<"鑲$エ浠e彿"<<"鎬诲競鍊�(浜�)"<<"娴侀�氬競鍊�(浜�)"<<"娑ㄨ穼骞�(%)"<<"鏀剁洏浠�"<<"鎴愪氦棰�(浜�)"<<"鎴愪氦閲�(鎵�)"<<"鎹㈡墜鐜�(%)"<<"甯傜泩鐜�"<<"浜ゆ槗棰濇帓鍚�";
     m_model->setHorizontalHeaderLabels(labels); // 璁剧疆妯″瀷鐨勫垪鏍囩鍚�
     m_customModel = new CustomSortProxyModel;
     m_customModel->setSourceModel(m_model); // 璁剧疆婧愭ā鍨�
@@ -149,7 +152,7 @@
     QVariant var;
     var.setValue(list);
     // 璁剧疆瑕佽闂殑缃戝潃
-    m_request.setUrl(QUrl("https://xueqiu.com/?md5__1038=QqGxcDnDyiitnD05o4%2Br%3Di%3De0KDtYqCDRWOoD"));
+    m_request.setUrl(QUrl("https://xueqiu.com/S/SZ002466"));
     // 璁剧疆璇锋眰澶达紝鐢ㄦ埛浠g悊锛岀敤鏉ユā鎷熸祻瑙堝櫒
     m_request.setHeader(QNetworkRequest::UserAgentHeader,userAgent);
     // 璁剧疆cookie
@@ -985,3 +988,97 @@
 {
     on_pushButton_search_clicked();
 }
+
+void GetStockList::showHistoryModelData(QVector<QVector<QString>> &model) // 浠庡巻鍙查偅杈瑰皢鏁版嵁鍙戣繃鏉�
+{
+    qDebug()<<QDateTime::currentDateTime();
+    m_model->setRowCount(0);
+    for(int i=0;i<model.size();++i){
+        //qDebug()<<"i="<<i;
+        QList<QStandardItem*> items;
+        m_codeNames[model[i][1]] = model[i][0];
+        for(int j=0;j<model.at(0).size();++j){
+            items.append(new QStandardItem(model[i][j]));
+
+            if(j==2){
+                items.append(new QStandardItem(model[i][j]));
+            }
+            if(j==3){
+                QStandardItem *percentItem =  items.back();
+                if(percentItem->text().toDouble() > 0){
+                    percentItem->setData(QColor("red"),Qt::DecorationRole); // 娣诲姞涓�涓楗扮殑棰滆壊涓虹孩鑹�
+                    percentItem->setData(QColor("red"),Qt::TextColorRole);  // 灏嗗瓧浣撻鑹茶缃负绾㈣壊
+                    items.at(0)->setData(QColor("red"),Qt::TextColorRole);  // 灏嗚偂绁ㄥ悕瀛楄缃负绾㈣壊
+                 }
+                else if(percentItem->text().toDouble() < 0){
+                    percentItem->setData(QColor("green"),Qt::BackgroundColorRole);
+                    items.at(0)->setData(QColor("green"),Qt::TextColorRole);
+                }
+            }
+
+        }
+        m_model->appendRow(items);
+    }
+    qDebug()<<"鍘嗗彶鍒颁俊鎭祴鍊煎畬鎴� 琛屾暟:"<<m_model->rowCount();
+    qDebug()<<QDateTime::currentDateTime();
+}
+
+void GetStockList::showHistoryModelData(QStandardItemModel *model)
+{
+
+//    qDebug()<<QDateTime::currentDateTime();
+//    //ui->tableView->setModel(model);
+//    QVector<QVector<QString>> vec;
+//    for(int i=0;i<model->rowCount();++i){
+//        //QString row;
+//        QVector<QString> tmp;
+
+//        m_codeNames[model->item(i,1)->text()] = model->item(i,0)->text();
+
+//        for(int j=0;j<model->columnCount();++j){
+//            //row+=model->item(i,j)->text()+" ";
+//            tmp.append(model->item(i,j)->text());
+//        }
+//        //qDebug()<<i<<row;
+//        vec.append(tmp);
+//    }
+//    qDebug()<<"vec size:"<<vec.size();
+
+    qDebug()<<QDateTime::currentDateTime();
+    m_model->setRowCount(0);
+    for(int i=0;i<model->rowCount();++i){
+        QList<QStandardItem*> items;
+        m_codeNames[model->item(i,1)->text()] = model->item(i,0)->text();
+        for(int j=0;j<model->columnCount();++j){
+            items.append(new QStandardItem(model->item(i,j)->text()));
+            if(j==2){
+                items.append(new QStandardItem(model->item(i,j)->text()));
+            }
+            if(j==3){
+                QStandardItem *percentItem =  items.back();
+                if(percentItem->text().toDouble() > 0){
+                    percentItem->setData(QColor("red"),Qt::DecorationRole); // 娣诲姞涓�涓楗扮殑棰滆壊涓虹孩鑹�
+                    percentItem->setData(QColor("red"),Qt::TextColorRole);  // 灏嗗瓧浣撻鑹茶缃负绾㈣壊
+                    items.at(0)->setData(QColor("red"),Qt::TextColorRole);  // 灏嗚偂绁ㄥ悕瀛楄缃负绾㈣壊
+                 }
+                else if(percentItem->text().toDouble() < 0){
+                    percentItem->setData(QColor("green"),Qt::BackgroundColorRole);
+                    items.at(0)->setData(QColor("green"),Qt::TextColorRole);
+                }
+            }
+        }
+        m_model->appendRow(items);
+    }
+    qDebug()<<"鍘嗗彶鍒颁俊鎭祴鍊煎畬鎴� 鏉℃暟:"<<m_model->rowCount();
+    qDebug()<<QDateTime::currentDateTime();
+}
+
+void GetStockList::getStockNamesByNum(int num)
+{
+    for(int i=0;i<num;++i){
+        //qDebug()<<i+1<<m_model->item(i,0)->text();
+        qDebug()<<i+1<<m_customModel->data(m_customModel->index(i,0)).toString();
+//        emit sendNameToAnalysis(m_model->item(i,0)->text()); // 鍙戝悕瀛楃粰缂撳瓨鍒嗘瀽鐣岄潰鏉ヤ緷娆″垎鏋�
+        emit sendNameToAnalysis(m_customModel->data(m_customModel->index(i,0)).toString());
+    }
+}

--
Gitblit v1.8.0