You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.2 KiB
98 lines
3.2 KiB
|
3 years ago
|
#include "trendwidget.h"
|
||
|
|
#include "ui_trendwidget.h"
|
||
|
|
#include <QDebug>
|
||
|
|
|
||
|
|
TrendWidget::TrendWidget(QWidget *parent) :
|
||
|
|
QWidget(parent),
|
||
|
|
ui(new Ui::TrendWidget)
|
||
|
|
{
|
||
|
|
ui->setupUi(this);
|
||
|
|
m_UserData.SetManagerType(ManagerType::Ruoyi);
|
||
|
|
}
|
||
|
|
|
||
|
|
TrendWidget::~TrendWidget()
|
||
|
|
{
|
||
|
|
delete ui;
|
||
|
|
}
|
||
|
|
|
||
|
|
void TrendWidget::SetUserInfo(UserInfo user)
|
||
|
|
{
|
||
|
|
m_UserInfo = user;
|
||
|
|
}
|
||
|
|
|
||
|
|
void TrendWidget::LoadTrendsData(const TrendsRequestParam ¶m)
|
||
|
|
{
|
||
|
|
if(param.period == m_TrendParam.period && param.tradeDay == m_TrendParam.tradeDay && param.token == m_TrendParam.token)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
if(param.period.isEmpty())
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
ui->tableWidget->clear();
|
||
|
|
m_TrendParam = param;
|
||
|
|
QList<QList<QString> > trends = m_UserData.GetTrends(param);
|
||
|
|
int rowCount = trends.count();
|
||
|
|
int columnCount = 0;
|
||
|
|
//更新到tableview中
|
||
|
|
if(rowCount > 2)
|
||
|
|
{
|
||
|
|
qDebug() << __FUNCTION__ << " trends[0]: " << trends[0];
|
||
|
|
QStringList headText;
|
||
|
|
QList<QString> columns = trends[0];
|
||
|
|
QList<QString> rows0 = trends[1];
|
||
|
|
QList<QString> rows1 = trends[2];
|
||
|
|
qDebug() << __FUNCTION__ << " trends[1]: " << trends[1];
|
||
|
|
qDebug() << __FUNCTION__ << " trends[2]: " << trends[2];
|
||
|
|
columnCount = columns.count();
|
||
|
|
ui->tableWidget->setRowCount(trends[1].count());
|
||
|
|
ui->tableWidget->setColumnCount(columnCount);
|
||
|
|
for (int column = 0; column < columnCount; ++column) {
|
||
|
|
headText << columns[column];
|
||
|
|
}
|
||
|
|
|
||
|
|
ui->tableWidget->setHorizontalHeaderLabels(headText);
|
||
|
|
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||
|
|
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||
|
|
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
|
||
|
|
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||
|
|
ui->tableWidget->setAlternatingRowColors(true);
|
||
|
|
ui->tableWidget->verticalHeader()->setVisible(false);
|
||
|
|
// ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
|
||
|
|
}
|
||
|
|
|
||
|
|
//设置首列
|
||
|
|
int tableRows = trends[1].count();
|
||
|
|
for(int row = 0; row < tableRows; row++)
|
||
|
|
{
|
||
|
|
ui->tableWidget->setRowHeight(row, 24);
|
||
|
|
QTableWidgetItem *item = new QTableWidgetItem(trends[1][row]);
|
||
|
|
ui->tableWidget->setItem(row, 0, item);
|
||
|
|
|
||
|
|
}
|
||
|
|
for(int datarow = 2, col = 1; datarow < rowCount; datarow++,col++)
|
||
|
|
{
|
||
|
|
for(int tablerow = 0 ; tablerow < tableRows; tablerow++)
|
||
|
|
{
|
||
|
|
QTableWidgetItem *item = new QTableWidgetItem(trends[datarow][tablerow]);
|
||
|
|
if(item->text().toInt() <= 3 && item->text().toInt() > 0)
|
||
|
|
{
|
||
|
|
item->setTextColor(Qt::white);
|
||
|
|
item->setBackground(QBrush(Qt::red));
|
||
|
|
}
|
||
|
|
else if(item->text().toInt() <= 6 && item->text().toInt() > 3)
|
||
|
|
{
|
||
|
|
item->setTextColor(Qt::white);
|
||
|
|
item->setBackground(QBrush(QColor(255,157,0)));
|
||
|
|
}
|
||
|
|
else if(item->text().toInt() <= 10 && item->text().toInt() > 6)
|
||
|
|
{
|
||
|
|
item->setTextColor(Qt::white);
|
||
|
|
item->setBackground(QBrush(QColor(255,208,0)));
|
||
|
|
}
|
||
|
|
ui->tableWidget->setItem(tablerow, col, item);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|