Qt文件閱讀筆記-QHeaderView::sectionResized官方解析與例項
阿新 • • 發佈:2018-12-14
官方解析
不翻譯了,很簡單的英語
博主例子
程式執行截圖如下
原始碼如下:
widget.h
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private: Ui::Widget *ui; void updateSectionWidth(int logicalIndex, int oldSize, int newSize); void updateSectionHeight(int logicalIndex, int oldSize, int newSize); }; #endif // WIDGET_H
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
widget.cpp
#include "widget.h" #include "ui_widget.h" #include <QDebug> #include <QHeaderView> #include <QTableWidgetItem> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); QStringList list; for(int i=0;i<100;i++){ list<<QString::number(i); } ui->tableWidget->setHorizontalHeaderLabels(list); ui->tableWidget->setVerticalHeaderLabels(list); ui->tableWidget->setRowCount(100); ui->tableWidget->setColumnCount(100); for(int i=0;i<100;i++){ for(int j=0;j<100;j++){ QTableWidgetItem *item=new QTableWidgetItem; item->setText(QString::number(i+j)); ui->tableWidget->setItem(i,j,item); } } connect(ui->tableWidget->horizontalHeader(),&QHeaderView::sectionResized,this,&Widget::updateSectionWidth); connect(ui->tableWidget->verticalHeader(),&QHeaderView::sectionResized,this,&Widget::updateSectionHeight); } Widget::~Widget() { delete ui; } void Widget::updateSectionWidth(int logicalIndex, int oldSize, int newSize) { qDebug()<<"updateSectionWidth called"; qDebug()<<"logicalIndex:"<<logicalIndex; qDebug()<<"oldSize:"<<oldSize; qDebug()<<"oldSize:"<<newSize; qDebug()<<"*************"; } void Widget::updateSectionHeight(int logicalIndex, int oldSize, int newSize) { qDebug()<<"updateSectionHeight called"; qDebug()<<"logicalIndex:"<<logicalIndex; qDebug()<<"oldSize:"<<oldSize; qDebug()<<"oldSize:"<<newSize; qDebug()<<"*************"; }