由于我尚未意识到的原因,开箱即用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!
显然,我在这里缺少一些初始化。我能找到的唯一例子是从一些预先存在的对象中复制选项数据,但是我没有从中复制它们 - 我需要当前样式的默认值。建议,有人吗?