logplus/logPlus/formhead.cpp

98 lines
2.7 KiB
C++
Raw Normal View History

2025-10-29 17:23:30 +08:00
#include "formhead.h"
#include "ui_formhead.h"
#include <QMessageBox>
#include <QMenu>
#include "CallManage.h"
2025-11-10 15:51:41 +08:00
#include <QTimer>
2025-10-29 17:23:30 +08:00
2025-11-10 15:51:41 +08:00
//extern int g_iRows;
//extern int g_iCols;
int g_iColsWidth=200;
int g_iRowsHight=80;
//画图头
2025-10-29 17:23:30 +08:00
FormHead::FormHead(QWidget *parent, int indexID) :
QWidget(parent),
ui(new Ui::FormHead)
{
ui->setupUi(this);
m_indexID =indexID;
2025-11-10 15:51:41 +08:00
//设置样式表,不显示竖直边框
ui->tableWidget->setStyleSheet( "QTableView::item {border-left: 0px solid black;} \
QTableView::item:selected {border-left: 0px solid black;}\
QTableView::item {border-right: 0px solid black;} \
QTableView::item:selected {border-right: 0px solid black;}");
2025-10-29 17:23:30 +08:00
//使能右键菜单功能
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
// 连接信号和槽
2025-11-10 15:51:41 +08:00
// 创建并设置定时器
// m_timer = new QTimer(this);
// connect(m_timer, &QTimer::timeout, this, &FormHead::resizeWindow);
// m_timer->start(5); // 设置定时器为5毫秒
2025-10-29 17:23:30 +08:00
}
FormHead::~FormHead()
{
delete ui;
}
2025-11-10 15:51:41 +08:00
void FormHead::resizeWindow()
2025-10-29 17:23:30 +08:00
{
2025-11-10 15:51:41 +08:00
QRect rect = this->rect();
//调整大小
if(rect.width()>m_iCols*g_iColsWidth)
{
ui->tableWidget->setGeometry((rect.width()-(m_iCols*g_iColsWidth+1))/2, 0, m_iCols*(g_iColsWidth+1), m_iRows*(g_iRowsHight+2));
}
else
{
ui->tableWidget->setGeometry(0, 0, m_iCols*(g_iColsWidth+1), m_iRows*(g_iRowsHight+2));
2025-10-29 17:23:30 +08:00
}
2025-11-10 15:51:41 +08:00
//m_timer->stop();
2025-10-29 17:23:30 +08:00
}
2025-11-10 15:51:41 +08:00
void FormHead::resizeEvent(QResizeEvent *event)
2025-10-29 17:23:30 +08:00
{
2025-11-10 15:51:41 +08:00
resizeWindow();
2025-10-29 17:23:30 +08:00
}
2025-11-10 15:51:41 +08:00
void FormHead::Init(int iRows, int iCols, int iWidth)
2025-10-29 17:23:30 +08:00
{
2025-11-10 15:51:41 +08:00
m_iRows =iRows;
m_iCols = iCols;
2025-10-29 17:23:30 +08:00
2025-11-10 15:51:41 +08:00
//清空
ui->tableWidget->clearContents();
ui->tableWidget->verticalHeader()->hide();//隐藏左侧系统序号栏
ui->tableWidget->horizontalHeader()->hide();//隐藏上方系统序号栏
//ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
//ui->tableWidget->horizontalHeader()->setFixedHeight(3);//标题栏高度
2025-10-29 17:23:30 +08:00
2025-11-10 15:51:41 +08:00
//QRect rect = this->rect();
2025-10-29 17:23:30 +08:00
2025-11-10 15:51:41 +08:00
//因为tableWidget需要提前规定好行数与列数
ui->tableWidget->setColumnCount(m_iCols);//列数
ui->tableWidget->setRowCount(m_iRows); //动态设置行数
for(int i=0; i<m_iRows; i++)
{
//设置高度
ui->tableWidget->setRowHeight(i, g_iRowsHight);
for(int j=0; j<m_iCols; j++)
{
//设置列宽
ui->tableWidget->setColumnWidth(j, g_iColsWidth);
QTableWidgetItem* item = new QTableWidgetItem("");
ui->tableWidget->setItem(i, j, item);
}
}
2025-10-29 17:23:30 +08:00
}