logplus/logPlus/formhead.cpp
2025-11-10 15:51:41 +08:00

98 lines
2.7 KiB
C++

#include "formhead.h"
#include "ui_formhead.h"
#include <QMessageBox>
#include <QMenu>
#include "CallManage.h"
#include <QTimer>
//extern int g_iRows;
//extern int g_iCols;
int g_iColsWidth=200;
int g_iRowsHight=80;
//画图头
FormHead::FormHead(QWidget *parent, int indexID) :
QWidget(parent),
ui(new Ui::FormHead)
{
ui->setupUi(this);
m_indexID =indexID;
//设置样式表,不显示竖直边框
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;}");
//使能右键菜单功能
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
// 连接信号和槽
// 创建并设置定时器
// m_timer = new QTimer(this);
// connect(m_timer, &QTimer::timeout, this, &FormHead::resizeWindow);
// m_timer->start(5); // 设置定时器为5毫秒
}
FormHead::~FormHead()
{
delete ui;
}
void FormHead::resizeWindow()
{
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));
}
//m_timer->stop();
}
void FormHead::resizeEvent(QResizeEvent *event)
{
resizeWindow();
}
void FormHead::Init(int iRows, int iCols, int iWidth)
{
m_iRows =iRows;
m_iCols = iCols;
//清空
ui->tableWidget->clearContents();
ui->tableWidget->verticalHeader()->hide();//隐藏左侧系统序号栏
ui->tableWidget->horizontalHeader()->hide();//隐藏上方系统序号栏
//ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
//ui->tableWidget->horizontalHeader()->setFixedHeight(3);//标题栏高度
//QRect rect = this->rect();
//因为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);
}
}
}