Относительное изменение размера столбцов QTableWidget
Я использую QTableWidget с 4-5 столбцами в диалоге. Размер диалогового окна можно изменять, я хочу, чтобы размер столбцов виджета таблицы изменялся в соответствии с размером диалогового окна, т. Е. Если я увеличиваю ширину диалогового окна, столбцы, изначально установленные с большой шириной, должны расширяться больше столбцов, которые были установлены с меньшей шириной.
Короче говоря, я хочу, чтобы относительное изменение размера, как column1 должно занимать 20%, column2 занимать 50% ширины моей таблицы (которая увеличивается с шириной диалога) и так далее.
Как этого можно добиться для QTableWidget в Qt?
Любое решение, указатели или подсказки будут очень полезны.
1 ответ
Нужно просто обновлять ширину столбцов всякий раз, когда размер вашего диалога изменяется.
MyDialog::resizeEvent(QResizeEvent *event) {
int width = ui->tableWidget->size().width();
ui->tableWidget->setColumnWidth(0, width * .2);
ui->tableWidget->setColumnWidth(1, width * .5);
...
}
Вы также можете напрямую создать подкласс QTableWidget и сделать то же самое.