我需要处理QTableWidget
中调整大小的列宽。
我该怎么做?
-
当光标位于标题部分之间的边界,鼠标左键停止且鼠标移动时,我会谈论事件。
答案 0 :(得分:1)
尝试将ui->tableWidget->verticalHeader()
(它返回QHeaderView
)sectionResized()
信号连接到某个广告位。
工作示例:
新信号和插槽语法+ lambda表达式
connect(ui->tableWidget->horizontalHeader(),&QHeaderView::sectionResized,[=]( int logicalIndex, int oldSize, int newSize) {//with lambda
qDebug() << "works" << logicalIndex << oldSize << newSize;
});
输出:
works 0 115 116
works 0 116 115
works 1 100 101
works 1 101 102
同时将CONFIG += c++11
添加到专业文件中。
旧语法示例:
在标题中:
private slots:
void clicked(int, int, int);
在构造函数中:
connect(ui->tableWidget->horizontalHeader(),SIGNAL(sectionResized(int,int,int)),this, SLOT(clicked(int,int,int)));
插槽:
void MainWindow::clicked(int logicalIndex, int oldSize, int newSize)
{
qDebug() << "works" << logicalIndex << oldSize << newSize;
}
输出:
works 0 106 107
works 0 107 108
works 1 100 101
works 1 101 102
works 1 102 103
选择最适合您的,但请注意新语法包含: