2017-02-02 12:51 GMT+01:00 Elvis Stansvik <elvst...@gmail.com>: > 2017-02-02 11:39 GMT+01:00 Elvis Stansvik <elvst...@gmail.com>: >> 2017-02-02 11:23 GMT+01:00 Elvis Stansvik <elvst...@gmail.com>: >>> WIth the following minimal example: >>> >>> #include <QApplication> >>> #include <QTreeView> >>> #include <QStandardItemModel> >>> #include <QStandardItem> >>> >>> int main(int argc, char *argv[]) >>> { >>> QApplication app(argc, argv); >>> >>> QStandardItemModel model(3, 2); >>> model.setHorizontalHeaderLabels({ "Header 1", "Header 2" }); >>> >>> for (int row = 0; row < 3; ++row) { >>> for (int column = 0; column < 2; ++column) { >>> model.setItem(row, column, new QStandardItem("Foo")); >>> } >>> } >>> >>> QTreeView view; >>> view.setModel(&model); >>> view.show(); >>> view.resizeColumnToContents(0); >>> >>> return app.exec(); >>> } >>> >>> I get the attached result. Note how the first column does not snugly >>> fit the contents. The limiting factor should be the width of the >>> header ("Header 1"), but there's plenty of room left to shrink the >>> column. >>> >>> Anyone else had this problem? Is there a way to improve the accuracy >>> of QTreeView::resizeColumnToContents ? >>> >>> This is with Qt 5.5.1 (Ubuntu 16.04 package). >> >> I wonder, considering the amount of extra space, could it be that the >> calculation is taking the width of a sorting indicator (the ^ and v >> arrows) into account, even if no such handle is visible (sorting is >> not enabled)? If so, should that be considered a bug that I should >> report? > > Nevermind, I realized now that QHeaderView delegates to the style to > draw the header section, and that this is a bug in my style (Breeze). > With the Fusion style the result is as expected. > > Breeze should take the sort indicator into account somewhere around > here: > https://github.com/KDE/breeze/blob/master/kstyle/breezestyle.cpp#L2901-L2940 > > I'll report it to the KDE folks.
(For those interested, I submitted this patch to fix it: https://phabricator.kde.org/D4406) > > Elvis > >> >> Elvis >> >>> >>> Thanks in advance, >>> Elvis _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest