resizeColumnToContents() ohne Berücksichtigung des Headers
Verfasst: 28. Dezember 2010 18:13
Hallo
Ich würde gerne die Spalten einer QTableView mittels resizeColumnToContents() an den Inhalt anpassen, allerdings soll dabei der Header nicht berücksichtigt werden, sprich er soll gegebenenfalls einfach abgeschnitten werden.
Ein Ansatz war, den Header für den Resize einfach auszublenden, also
Das hat aber nichts gebracht, selbst wenn der Header dauerhaft ausgeblendet wird, wird sein Inhalt noch für den Resize berücksichtigt.
Ein weiterer Versuch war, vom Model aus einen SizeHint zurückzugeben
Das funktioniert soweit auch ganz gut, allerdings weiß ich nicht, auf was für einen Wert ich die Höhe einstellen soll, die sollte ja eigentlich unverändert bleiben...
Kann man das irgendwie sinnvoller erreichen, oder bekommt man die default height irgendwie raus?
Ich würde gerne die Spalten einer QTableView mittels resizeColumnToContents() an den Inhalt anpassen, allerdings soll dabei der Header nicht berücksichtigt werden, sprich er soll gegebenenfalls einfach abgeschnitten werden.
Ein Ansatz war, den Header für den Resize einfach auszublenden, also
Code: Alles auswählen
tableView->horizontalHeader()->hide();
tableView->resizeColumnToContents(2);
tableView->horizontalHeader()->show();
Ein weiterer Versuch war, vom Model aus einen SizeHint zurückzugeben
Code: Alles auswählen
QVariant MyModel::headerData(int section, Qt::Orientation orientation, int role) const {
switch (role) {
...
case Qt::SizeHintRole:
return QSize(20, 20);
}
}
Kann man das irgendwie sinnvoller erreichen, oder bekommt man die default height irgendwie raus?