#include #include #include class Item : public QTreeWidgetItem{ public: Item(QTreeWidget* pw,int num):QTreeWidgetItem(pw) { setText(0,QString("name%1").arg(num)); setText(1,"1\n2\n3\n4\n5\n6\n7\n8\n"); setText(2,QString("type%1").arg(num)); int h = 5*pw->fontMetrics().height(); qDebug() << "h" << h; qDebug() << "metrics" << pw->fontMetrics().height(); setSizeHint(0,QSize(sizeHint(0).width(),h)); setSizeHint(1,QSize(sizeHint(1).width(),h)); setSizeHint(2,QSize(sizeHint(2).width(),h)); } }; int main(int argc, char **argv) { QApplication app(argc,argv); QTreeWidget w(0); w.setWordWrap(true); w.setUniformRowHeights(true); QStringList lst; lst << "name" << "notes" << "type"; w.setHeaderLabels(lst); for(int i=0;i<10;++i){ new Item(&w,i); } w.topLevelItem(0)->setText(1, "000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n" "000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n" "000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n" "000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n" "000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n" "000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n" "000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n" "000 0000 0000 0000 0000 0000 0000 0000 0000 0000"); w.show(); qDebug() << "after show" << w.topLevelItem(0)->sizeHint(1); return app.exec(); }