From 69fc6911e8c09e2a34640da642874eab0c8a2256 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期五, 24 一月 2025 22:28:20 +0800 Subject: [PATCH] 0124 --- getstocklist.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 46 insertions(+), 3 deletions(-) diff --git a/getstocklist.cpp b/getstocklist.cpp index a0b32c2..61776ef 100644 --- a/getstocklist.cpp +++ b/getstocklist.cpp @@ -172,6 +172,14 @@ m_getCodeTimer = new QTimer(this); connect(m_getCodeTimer,SIGNAL(timeout()),this,SLOT(getCodeSlot())); + // 鏀寔缂栬緫妗嗙殑妯$硦鍖归厤 + m_completer = new QCompleter(this); + m_completer->setModel(m_customModel); + m_completer->setCaseSensitivity(Qt::CaseInsensitive); // 涓嶅尯鍒嗗ぇ灏忓啓 + m_completer->setCompletionMode(QCompleter::PopupCompletion); // 鑷姩鏄剧ず涓嬫媺妗� + m_completer->setFilterMode(Qt::MatchStartsWith); // 鍓嶇紑鍖归厤 + ui->lineEdit_search->setCompleter(m_completer); // 鍏宠仈鍖归厤鐨勬帶浠� + } GetStockList::~GetStockList() @@ -395,6 +403,8 @@ double volume_rate = volume_cur / volume_old; if(volume_rate > 2){ qDebug()<<"搴曢儴鍙嶈浆绛栫暐:閲忚兘姣�"<<volume_rate<<code <<curDateTime<<"浠锋牸:" <<close; + QString info = QString("<font size=8 color=red> %4 搴曢儴鍙嶈浆绛栫暐:閲忚兘 鏃堕棿:%1 浠锋牸:%2 閲忚兘姣斿��=%3 </font>").arg(curDateTime).arg(close).arg(volume_rate).arg(code); + emit sendInfoMess(info); } } @@ -503,6 +513,7 @@ double ma30 = jArr.at(i).toArray().at(15).toVariant().toDouble(); double open = jArr.at(i).toArray().at(2).toVariant().toDouble(); + long long market_cap = jArr.at(i).toArray().at(22).toVariant().toLongLong(); double volume_rate = 0; if(i > 0){ // 璁$畻閲忚兘姣� @@ -514,7 +525,8 @@ if(ma5 >= open && ma10 >= open && ma20 >= open && ma30 >= open && ma5 <= close && ma10 <= close && ma20 <= close && ma30 <= close){ qDebug()<<"涓�闃崇┛鍥涚嚎:"<< code <<curDateTime<<" 浠锋牸:"<<close << "閲忚兘姣�:"<<volume_rate; - QString info = QString("<font size=8 color=red> %3 %4 涓�闃崇┛鍥涚嚎:%1 浠锋牸:%2 閲忚兘姣�:%5 鍛ㄦ湡:%6 </font>").arg(curDateTime).arg(close).arg(code).arg(m_codeNames[code]).arg(volume_rate).arg(m_dateType); + QString info = QString("<font size=8 color=red> %3 %4 涓�闃崇┛鍥涚嚎:%1 浠锋牸:%2 閲忚兘姣�:%5 鍛ㄦ湡:%6 甯傚��:%7浜�</font>").arg(curDateTime).arg(close).arg(code).arg(m_codeNames[code]).arg(volume_rate) + .arg(m_dateType).arg(market_cap/100000000.0); emit sendInfoMess(info); } } @@ -810,7 +822,7 @@ */ qDebug()<<"鎵ц搴曢儴鍙嶈浆绛栫暐"; - emit sendInfoMess("<font size=12 color=pink>鎵цMACD绛栫暐 </font>"); + emit sendInfoMess("<font size=12 color=pink>鎵ц搴曢儴鍙嶈浆绛栫暐 </font>"); int curRow = ui->tableView->currentIndex().row(); // QString symbol = m_model->item(curRow,1)->text(); @@ -865,7 +877,7 @@ QString symbol = m_customModel->data(m_customModel->index(curRow,1)).toString(); qint64 begin = QDateTime::currentMSecsSinceEpoch(); // 鍙栧綋鍓嶆椂闂存埑 int numsCnt = 200; - QString urlStr = QString("https://stock.xueqiu.com/v5/stock/chart/kline.json?symbol=%1&begin=%2&period=%4&type=before&count=-%3&indicator=kline,macd,ma,boll").arg(symbol).arg(begin).arg(numsCnt).arg(m_dateType); + QString urlStr = QString("https://stock.xueqiu.com/v5/stock/chart/kline.json?symbol=%1&begin=%2&period=%4&type=before&count=-%3&indicator=kline,macd,ma,boll,market_capital").arg(symbol).arg(begin).arg(numsCnt).arg(m_dateType); qDebug()<<urlStr; qDebug()<<"褰撳墠鑲$エ:"<<symbol<<m_customModel->data(m_customModel->index(curRow,0)).toString(); // 涓嬩竴姝ュ氨鏄牴鎹畊rl璇锋眰鍒扮殑鏁版嵁锛岃繘琛屽垎鏋� @@ -925,3 +937,34 @@ } } } + +void GetStockList::on_pushButton_filterCap_clicked() +{ + double begin = ui->lineEdit_beginCap->text().toDouble(); + double end = ui->lineEdit_endCap->text().toDouble(); + int rows = m_customModel->rowCount(); + for(int i=rows - 1;i > 0;--i){ + double allCap = m_customModel->data(m_customModel->index(i,2)).toDouble(); + if( allCap < begin || allCap > end){ + m_customModel->removeRow(i); + } + } +} + +void GetStockList::on_pushButton_search_clicked() +{ + QString condition = ui->lineEdit_search->text(); + for(int i =0;i<m_customModel->rowCount();++i){ + if(m_customModel->data(m_customModel->index(i,0)).toString() == condition + || m_customModel->data(m_customModel->index(i,1)).toString() == condition) + { + ui->tableView->setCurrentIndex(m_customModel->index(i,0)); + break; + } + } +} + +void GetStockList::on_lineEdit_search_returnPressed() +{ + on_pushButton_search_clicked(); +} -- Gitblit v1.8.0