#include "operationallogwidget.h" #include "ui_operationallogwidget.h" OperationalLogWidget::OperationalLogWidget(QWidget *parent) : QWidget(parent), ui(new Ui::OperationalLogWidget) { ui->setupUi(this); // ui->tableWidget->setLineWidth(500); initTableWidgetFormat(); // 初始化表格 } OperationalLogWidget::~OperationalLogWidget() { delete ui; } void OperationalLogWidget::initTableWidgetFormat() { ui->tableWidget->setColumnCount(2); ui->tableWidget->setColumnWidth(0,505); ui->tableWidget->setColumnWidth(1,505); // 添加默认空行 ui->tableWidget->setRowCount(50); // 设置表格行数为50 // 获取水平标题栏 QHeaderView *table_header = ui->tableWidget->horizontalHeader(); // 设置标题栏的背景色 table_header->setStyleSheet("background-color: rgb(0, 255, 255);"); // 设置标题栏的字体 QFont font("黑体",14,QFont::Bold); table_header->setFont(font); // 设置标题栏的文本 table_header->setSectionResizeMode(QHeaderView::Stretch); table_header->setSortIndicatorShown(true); table_header->setSortIndicator(0, Qt::AscendingOrder); table_header->setSectionsClickable(true); table_header->setSectionsMovable(true); table_header->setHighlightSections(true); ui->tableWidget->setHorizontalHeader(table_header); ui->tableWidget->setHorizontalHeaderLabels({"操作类型","操作时间"}); // 创建7行数据 QStringList operations = {"开机", "关机", "调试", "运行"}; // QStringList data = {"Data 1", "Data 2", "Data 3", "Data 4", "Data 5", "Data 6", "Data 7"}; // QDateTime currentTime = QDateTime::currentDateTime(); // 设置时间范围 QDateTime startTime = QDateTime::fromString("2019-01-01 00:00:00", "yyyy-MM-dd hh:mm:ss"); QDateTime endTime = QDateTime::fromString("2023-08-02 00:00:00", "yyyy-MM-dd hh:mm:ss"); for (int row = 0; row < 7; ++row) { // 生成随机时间戳 qint64 randomTimestamp = QRandomGenerator::global()->generate64(); qint64 range = endTime.toSecsSinceEpoch() - startTime.toSecsSinceEpoch(); qint64 randomSeconds = randomTimestamp % range; QDateTime randomTime = startTime.addSecs(randomSeconds); // 将随机时间转换为文本格式 QString randomTimeString = randomTime.toString("yyyy-MM-dd hh:mm:ss"); // 设置操作时间 QTableWidgetItem *timeItem = new QTableWidgetItem(randomTimeString); ui->tableWidget->setItem(row, 1, timeItem); } for (int row = 0; row < 7; ++row) { // 设置操作类型 QTableWidgetItem *operationItem = new QTableWidgetItem(operations[row % operations.size()]); ui->tableWidget->setItem(row, 0, operationItem); // // 设置操作数据 // QTableWidgetItem *dataItem = new QTableWidgetItem(data[row]); // ui->tableWidget->setItem(row, 1, dataItem); // // 设置时间格式为"yyyy-MM-dd hh:mm:ss" // QTableWidgetItem *timeItem = new QTableWidgetItem(currentTime.toString("yyyy-MM-dd hh:mm:ss")); // ui->tableWidget->setItem(row, 2, timeItem); // // 增加时间 // currentTime = currentTime.addSecs(60); // 增加60秒 } }