#include "MeasureAnalysisDataTableView.h" #include "VirtualTable/CsvDataSource.h" #include "VirtualTable/VirtualTableModel.h" #include "VirtualTable/VirtualTableView.h" #include MeasureAnalysisDataTableView::MeasureAnalysisDataTableView(QWidget* parent) : MeasureAnalysisView { parent } , _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); layout->addWidget(_tableView); } void MeasureAnalysisDataTableView::SetAnalyzeDataFilename(const QMap &data_files_set) { if (data_files_set.isEmpty()) { return; } auto csv_ddata_source = std::make_shared(data_files_set.first()); 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); }