Как запретить пользователю изменять размеры столбцов QTableWidget? - PullRequest
10 голосов
/ 31 января 2012

Я бы хотел лично управлять шириной моих столбцов в таблице, но после изменения их размера из кода я не могу найти способ запретить пользователю изменять их размеры вручную. Я обнаружил, что QTableView имеет слот columnResized(), и я вижу только один способ сделать это: создать подкласс QTableWidget или изменить размер столбцов снова и снова в событии таймера.

Может быть, есть более легкий путь?

1 Ответ

25 голосов
/ 31 января 2012

Это можно сделать с помощью:

void QHeaderView::setSectionResizeMode (ResizeMode mode)
void QHeaderView::setSectionResizeMode (int logicalIndex, ResizeMode mode)

Горизонтальный заголовок доступен из QTableWidget используя horizontalHeader().

Вот оно:

ui->tMeal->horizontalHeader()->setSectionResizeMode (QHeaderView::Fixed);

Обратите внимание, что устаревшие (Qt4) приложения должны использовать setResizeMode().

...