-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfinancialwidget.cpp
More file actions
84 lines (73 loc) · 3.08 KB
/
Copy pathfinancialwidget.cpp
File metadata and controls
84 lines (73 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include "financialwidget.h"
#include "ui_financialwidget.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QChartView>
#include <QLabel>
#include <QComboBox>
#include <QDate>
#include <QDateEdit>
#include <QPushButton>
#include <QTableWidget>
#include <QSqlQuery>
FinancialWidget::FinancialWidget(QWidget* parent)
: QWidget(parent)
,ui(new Ui::FinancialWidget())
{
ui->setupUi(this);
setupUI();
}
FinancialWidget::~FinancialWidget()
{
delete ui;
}
void FinancialWidget::setupUI()
{
QVBoxLayout* mainLayout = new QVBoxLayout(this);//总体垂直布局
QHBoxLayout* topLayout = new QHBoxLayout();//顶部水平布局
QHBoxLayout* middleLayout = new QHBoxLayout();//中部水平布局
chartView = new QChartView();//底部折线图
mainLayout->addLayout(topLayout);//第二参数,拉伸,没有设置就是0
mainLayout->addLayout(middleLayout,60); // 占60%高度
mainLayout->addWidget(chartView,40); // 占40%高度
// =============== 顶部筛选条件与按钮布局 ===============
topLayout->addWidget(new QLabel("学生姓名:",this));
studentComboBox = new QComboBox(this);
topLayout->addWidget(studentComboBox);
topLayout->addWidget(new QLabel("起始日期:",this));
startDateEdit = new QDateEdit(QDate::currentDate().addMonths(-1));
startDateEdit->setCalendarPopup(true);
topLayout->addWidget(startDateEdit);
topLayout->addWidget(new QLabel("结束日期:",this));
endDateEdit = new QDateEdit(QDate::currentDate());
endDateEdit->setCalendarPopup(true);
topLayout->addWidget(endDateEdit);
addButton = new QPushButton("添加");
deleteButton = new QPushButton("删除");
editButton = new QPushButton("修改");
topLayout->addWidget(addButton);
topLayout->addWidget(deleteButton);
topLayout->addWidget(editButton);
topLayout->addStretch();
// =============== 主内容布局 ===============
tableWidget = new QTableWidget();
tableWidget->setFixedWidth(550);
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//不允许双击编辑
tableWidget->setAlternatingRowColors(true);
QStringList header = QStringList() << "ID" << "学生名字" << "缴费日期" << "金额" << "支付类型" << "备注";
tableWidget->setColumnCount(header.count());//设置总列数
tableWidget->setHorizontalHeaderLabels(header);
tableWidget->setColumnHidden(0,true);//隐藏ID列, 0列
middleLayout->addWidget(tableWidget);
pieChartView = new QChartView();
middleLayout->addWidget(pieChartView);
chartView->setRenderHint(QPainter::Antialiasing);//打开抗锯齿
chartView->setMinimumHeight(200); // 最小高度保障
// 连接
//connect(addButton,&QPushButton::clicked,this,&FinancialWidget::addRecord);
//connect(deleteButton,&QPushButton::clicked,this,&FinancialWidget::deleteRecord);
//connect(editButton,&QPushButton::clicked,this,&FinancialWidget::editRecord);
//connect(studentComboBox,QOverload<int>::of(&QComboBox::currentIndexChanged),this,&FinancialWidget::loadFinancialRecords);
//connect(startDateEdit,&QDateEdit::dateChanged,this,&FinancialWidget::loadFinancialRecords);
//connect(endDateEdit,&QDateEdit::dateChanged,this,&FinancialWidget::loadFinancialRecords);
}