update QBigOrderViewer.cpp 解决页面刷新时,时间列显示重叠问题
This commit is contained in:
Binary file not shown.
@@ -19,7 +19,7 @@
|
|||||||
// ==================== QBigOrderViewer ====================
|
// ==================== QBigOrderViewer ====================
|
||||||
QBigOrderViewer::QBigOrderViewer(QWidget *parent)
|
QBigOrderViewer::QBigOrderViewer(QWidget *parent)
|
||||||
: QWidget(parent),
|
: QWidget(parent),
|
||||||
m_model(new QStandardItemModel(0, 7, this)),
|
m_model(new QStandardItemModel(0, 8, this)),
|
||||||
m_proxyModel(new QSortFilterProxyModel(this)),
|
m_proxyModel(new QSortFilterProxyModel(this)),
|
||||||
m_typeDelegate(new OrderTypeDelegate(this)),
|
m_typeDelegate(new OrderTypeDelegate(this)),
|
||||||
m_lastOrderDelegate(new HighlightDelegate(this))
|
m_lastOrderDelegate(new HighlightDelegate(this))
|
||||||
@@ -83,17 +83,14 @@ void QBigOrderViewer::initUI()
|
|||||||
m_tableView->setModel(m_proxyModel);
|
m_tableView->setModel(m_proxyModel);
|
||||||
m_tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
m_tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||||
|
|
||||||
// 设置表头(股票代码、名称、类型、数量、价格、订单数、时间)
|
// 设置表头(股票代码、名称、类型、数量、价格、订单数、时间、时间戳)
|
||||||
m_model->setHorizontalHeaderLabels(
|
QStringList headers;
|
||||||
QStringList()
|
headers << "股票代码" << "股票名称" << "订单类型"
|
||||||
<< "股票代码"
|
<< "股票数量" << "股票价格" << "订单档位"
|
||||||
<< "股票名称"
|
<< "时间"<< "Timestamp";
|
||||||
<< "订单类型"
|
m_model->setHorizontalHeaderLabels(headers);
|
||||||
<< "股票数量"
|
m_tableView->setColumnHidden(7, true);
|
||||||
<< "股票价格"
|
|
||||||
<< "订单档位"
|
|
||||||
<< "时间"
|
|
||||||
);
|
|
||||||
|
|
||||||
// 设置表头文字居中
|
// 设置表头文字居中
|
||||||
for (int col = 0; col < m_model->columnCount(); ++col) {
|
for (int col = 0; col < m_model->columnCount(); ++col) {
|
||||||
@@ -110,7 +107,7 @@ void QBigOrderViewer::initUI()
|
|||||||
// 设置高亮委托到所有列
|
// 设置高亮委托到所有列
|
||||||
m_tableView->setItemDelegate(m_lastOrderDelegate);
|
m_tableView->setItemDelegate(m_lastOrderDelegate);
|
||||||
|
|
||||||
// 默认按时间列(第6列,索引5)升序排序 -> 新插入的行放在最顶上,故修改为降序排序 @2025.08.30 stone
|
// 默认按时间列(第7列,索引6)升序排序 -> 新插入的行放在最顶上,故修改为降序排序 @2025.08.30 stone
|
||||||
const int timeColumnIndex = 6;
|
const int timeColumnIndex = 6;
|
||||||
m_proxyModel->sort(timeColumnIndex, Qt::DescendingOrder);
|
m_proxyModel->sort(timeColumnIndex, Qt::DescendingOrder);
|
||||||
|
|
||||||
@@ -214,6 +211,11 @@ void QBigOrderViewer::updateView()
|
|||||||
timeItem->setTextAlignment(Qt::AlignCenter);
|
timeItem->setTextAlignment(Qt::AlignCenter);
|
||||||
rowItems << timeItem;
|
rowItems << timeItem;
|
||||||
|
|
||||||
|
// 添加时间戳列
|
||||||
|
QStandardItem* timestampItem = new QStandardItem(order->svrRecvTime);
|
||||||
|
timestampItem->setTextAlignment(Qt::AlignCenter);
|
||||||
|
rowItems << timestampItem;
|
||||||
|
|
||||||
m_model->appendRow(rowItems);
|
m_model->appendRow(rowItems);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -335,6 +337,9 @@ void QBigOrderViewer::setRowData(int row, QSharedPointer<BigOrderInfo> order)
|
|||||||
}
|
}
|
||||||
m_model->setData(m_model->index(row, 6), timeStr);
|
m_model->setData(m_model->index(row, 6), timeStr);
|
||||||
|
|
||||||
|
// 添加时间戳列(第7列)
|
||||||
|
m_model->setData(m_model->index(row, 7), order->svrRecvTime);
|
||||||
|
|
||||||
// 添加一个隐藏的时间戳列用于精确排序
|
// 添加一个隐藏的时间戳列用于精确排序
|
||||||
QDateTime fullDateTime;
|
QDateTime fullDateTime;
|
||||||
if (order->svrRecvTime.length() >= 19) {
|
if (order->svrRecvTime.length() >= 19) {
|
||||||
|
|||||||
Reference in New Issue
Block a user