По причине, которую я еще не понял, из коробки QTableView
имеет высоту строки примерно в два раза больше QTreeView
или же QListView
по крайней мере в моей системе. Я пытаюсь выяснить значение по умолчанию, которое Qt должен иметь для этого типа элемента; к сожалению, следующий код получает второй Q_ASSERT
срабатывает.
QStyle *style = QApplication::style();
Q_ASSERT(style);
QStyleOptionViewItem qsovi;
QRect rect = style->subElementRect(QStyle::SE_ItemViewItemText, &qsovi);
Q_ASSERT(rect.height() > 0); // <- triggered!
Очевидно, мне не хватает инициализации здесь. Единственные примеры, которые я мог найти, копируют данные опций из какого-то существовавшего ранее объекта, но мне нечего их копировать — мне нужен стиль по умолчанию для текущего стиля. Предложения, кто-нибудь?
Задача ещё не решена.
Других решений пока нет …