EnergySpectrumAnalyer/src/MeasureAnalysisDataTableView.cpp

37 lines
1.2 KiB
C++
Raw Normal View History

2026-03-02 11:07:51 +08:00
#include "MeasureAnalysisDataTableView.h"
#include <QHBoxLayout>
#include "VirtualTable/CsvDataSource.h"
#include "VirtualTable/VirtualTableView.h"
#include "VirtualTable/VirtualTableModel.h"
MeasureAnalysisDataTableView::MeasureAnalysisDataTableView():
_preload_policy(PreloadPolicy::Balanced), _block_size(1000), _buffer_size(50)
{
this->setAnalyzeViewType(ViewType::DataTable);
QHBoxLayout* layout = new QHBoxLayout(this);
// 创建表格视图
_tableView = new VirtualTableView(this);
_tableView->setFixedRowHeight(25); // 设置固定行高
_tableView->setShowGrid(true);
_tableView->setAlternatingRowColors(false);
2026-03-02 11:07:51 +08:00
layout->addWidget(_tableView);
}
void MeasureAnalysisDataTableView::SetAnalyzeDataFilename(const QString &filename)
{
if (filename.isEmpty()) {
return;
}
auto csv_ddata_source = std::make_shared<CsvDataSource>(filename);
if (!csv_ddata_source->isValid()) {
return;
}
VirtualTableModel* table_model = new VirtualTableModel;
table_model->setDataSource(csv_ddata_source);
table_model->setPreloadPolicy(_preload_policy);
table_model->setBlockSize(_block_size);
_tableView->setVirtualModel(table_model);
_tableView->setBufferSize(_buffer_size);
}