#include "formhead.h" #include "ui_formhead.h" #include #include #include "CallManage.h" #include //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; itableWidget->setRowHeight(i, g_iRowsHight); for(int j=0; jtableWidget->setColumnWidth(j, g_iColsWidth); QTableWidgetItem* item = new QTableWidgetItem(""); ui->tableWidget->setItem(i, j, item); } } }