parent
e1bf0487e1
commit
b6eafad1f1
@ -0,0 +1,61 @@
|
||||
#include "trends.h".h"
|
||||
#include "ui_trends.h"
|
||||
#include <QDebug>
|
||||
#include <QTableWidgetItem>
|
||||
#include <QColor>
|
||||
#include "trendwidget.h"
|
||||
|
||||
Trends::Trends(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::Trends)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
m_UserData.SetManagerType(ManagerType::Ruoyi);
|
||||
ui->periodCombo->addItems(QStringList() << "1" << "3" << "5" << "10" << "15" << "20" << "30");
|
||||
ui->periodCombo->setCurrentText("20");
|
||||
this->LoadTrendsData();
|
||||
connect(ui->periodCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(periodCombo_currentIndexChanged(int)));
|
||||
}
|
||||
|
||||
Trends::~Trends()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void Trends::SetUserInfo(UserInfo user)
|
||||
{
|
||||
m_UserInfo = user;
|
||||
}
|
||||
|
||||
void Trends::LoadTrendsData()
|
||||
{
|
||||
TrendsRequestParam param;
|
||||
param.token = m_UserInfo.token;
|
||||
param.period = ui->periodCombo->currentText();
|
||||
param.tradeDay = ui->tradeDay->text();
|
||||
if(param.period.isEmpty() || param.token.isEmpty() || param.tradeDay.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
TrendWidget* trend;
|
||||
if(trendsMap.contains(param.period))
|
||||
{
|
||||
ui->stackedWidget->setCurrentWidget(trendsMap[param.period]);
|
||||
trend = trendsMap[param.period];
|
||||
}
|
||||
else
|
||||
{
|
||||
//创建新的
|
||||
trend = new TrendWidget;
|
||||
trend->setObjectName(param.period);
|
||||
trendsMap.insert(param.period,trend);
|
||||
ui->stackedWidget->addWidget(trend);
|
||||
}
|
||||
trend->LoadTrendsData(param);
|
||||
}
|
||||
|
||||
void Trends::periodCombo_currentIndexChanged(int index)
|
||||
{
|
||||
LoadTrendsData();
|
||||
}
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
#ifndef TRENDS_H
|
||||
#define TRENDS_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "userdata.h"
|
||||
#include <QStandardItemModel>
|
||||
|
||||
namespace Ui {
|
||||
class Trends;
|
||||
}
|
||||
|
||||
class TrendWidget;
|
||||
class Trends : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit Trends(QWidget *parent = nullptr);
|
||||
~Trends();
|
||||
void SetUserInfo(UserInfo user);
|
||||
void LoadTrendsData();
|
||||
|
||||
private slots:
|
||||
void periodCombo_currentIndexChanged(int index);
|
||||
|
||||
private:
|
||||
Ui::Trends *ui;
|
||||
UserData m_UserData;
|
||||
UserInfo m_UserInfo;
|
||||
QMap<QString,TrendWidget*> trendsMap;//<period,widget>
|
||||
};
|
||||
|
||||
#endif // TRENDS_H
|
||||
@ -0,0 +1,94 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Trends</class>
|
||||
<widget class="QWidget" name="Trends">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1440</width>
|
||||
<height>647</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="7,4">
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_2" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>period</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="periodCombo"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>trade_date</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDateTimeEdit" name="tradeDay">
|
||||
<property name="date">
|
||||
<date>
|
||||
<year>2023</year>
|
||||
<month>12</month>
|
||||
<day>1</day>
|
||||
</date>
|
||||
</property>
|
||||
<property name="displayFormat">
|
||||
<string>yyyy-MM-dd</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="stackedWidget"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Tab 1</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Tab 2</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@ -1,95 +0,0 @@
|
||||
#include "trendswidget.h"
|
||||
#include "ui_trendswidget.h"
|
||||
#include <QDebug>
|
||||
#include <QTableWidgetItem>
|
||||
#include <QColor>
|
||||
|
||||
TrendsWidget::TrendsWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::TrendsWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
m_UserData.SetManagerType(ManagerType::Ruoyi);
|
||||
}
|
||||
|
||||
TrendsWidget::~TrendsWidget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void TrendsWidget::SetUserData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void TrendsWidget::SetUserInfo(UserInfo user)
|
||||
{
|
||||
m_UserInfo = user;
|
||||
}
|
||||
|
||||
void TrendsWidget::LoadTrendsData()
|
||||
{
|
||||
QList<QList<QString> > trends = m_UserData.GetTrends(QDate(),m_UserInfo.token);
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,30 +0,0 @@
|
||||
#ifndef TRENDSWIDGET_H
|
||||
#define TRENDSWIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "userdata.h"
|
||||
#include <QStandardItemModel>
|
||||
|
||||
namespace Ui {
|
||||
class TrendsWidget;
|
||||
}
|
||||
|
||||
class TrendsWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit TrendsWidget(QWidget *parent = nullptr);
|
||||
~TrendsWidget();
|
||||
//临时使用,后续需要重新创建
|
||||
void SetUserData();
|
||||
void SetUserInfo(UserInfo user);
|
||||
void LoadTrendsData();
|
||||
|
||||
private:
|
||||
Ui::TrendsWidget *ui;
|
||||
UserData m_UserData;
|
||||
UserInfo m_UserInfo;
|
||||
};
|
||||
|
||||
#endif // TRENDSWIDGET_H
|
||||
@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TrendsWidget</class>
|
||||
<widget class="QWidget" name="TrendsWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1440</width>
|
||||
<height>647</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="6,4">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Tab 1</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Tab 2</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
Loading…
Reference in new issue