Название: stretchLastSection 4.2.0 Отправлено: noosooth от Октябрь 10, 2006, 01:52 Qt 4.2.0 win
В конструкторе потомка QTableView говорю: Код:
Как я думал (до 4.2.0) последняя колонка вроде должна занимать все свободное пространство. Теперь, если уменьшаю горизонтальный размер окна с этим TableView до появления скроллера и затем перемещаю скроллер до упора вправо - последняя колонка, которая теперь снова "last visible section" ну никак не хочет "takes up all the available space". Короче, если присутствует горизонтальный скроллер, то справа в таблице - дырка. Причем ежели сказать этому TableView: Код: setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); Все вроде начинает работать так как и хотелось бы. (Не считая того, что скроллинг становится попиксельный) Ткните носом как теперь добиться того, чтобы horizontalScrollMode был равен QAbstractItemView::ScrollPerItem и чтобы последняя колонка занимала все пространство (без дыр справа) ? Название: stretchLastSection 4.2.0 Отправлено: bigirbis от Октябрь 10, 2006, 08:50 Цитировать QHeaderView::Interactive - Don't automatically change the size (let the user do it manually). ИМХО, с этим флагом не срастется, надо QHeaderView::Stretch. Название: stretchLastSection 4.2.0 Отправлено: noosooth от Октябрь 10, 2006, 11:40 Цитата: "bigirbis" Цитировать QHeaderView::Interactive - Don't automatically change the size (let the user do it manually). ИМХО, с этим флагом не срастется, надо QHeaderView::Stretch. Во-первых, Ваши сведения несколько устарели, т.к. речь идёт о 4.2.0 :wink: Цитировать QHeaderView::Interactive - The user can resize the section. The section can also be resized programmatically using resizeSection(). The section size defaults to defaultSectionSize. (See also cascadingSectionResizes.) Во-вторых, как минимум странно, что установка режима "QAbstractItemView::ScrollPerPixel" - приводит к корректному, на мой взгляд, поведению. В-третьих, QHeaderView::Stretch - мне не подходит. --------------------------- Вероятно я не вполне корректно спросил. Имелось ввиду: 1. Иметь возможность пользователю изменять размер колонок 2. Делать автоматом 'stretch' последней колонки 3. Гориз. скроллинг при этом желательно иметь "Per Item" Полагаю, что возможны как обычно два варианта: Либо я идиот и меня ткнут носом, либо это regression по сравнению с 4.1.4 Название: stretchLastSection 4.2.0 Отправлено: noosooth от Октябрь 16, 2006, 11:24 Вроде как согласились тролли что это regression (http://www.trolltech.com/developer/task-tracker/index_html?id=133849&method=entry).
Название: stretchLastSection 4.2.0 Отправлено: QCasper от Октябрь 18, 2006, 22:26 Я так и не понял, в 4.2 реально сделать чтобы хэдерные секции тэйбл виджета автоматически заполняли свободное пространство? Без этого как-то не по джедайски вообще...
Название: stretchLastSection 4.2.0 Отправлено: noosooth от Октябрь 18, 2006, 23:11 Проблема о которой я писал выше не проявляется если я задаю таблице (у меня потомок QTableView) попиксельный режим горизонтального скроллинга.
Код: setHorizontalScrollModeQAbstractItemView::ScrollPerPixel); Об этом я тоже троллям писАл, когда репортил bug. Но этот факт в Task Tracker они почему-то не опубликовали. to QCasper А Вы ещё какую-то проблему обнаружили? Название: stretchLastSection 4.2.0 Отправлено: QCasper от Октябрь 19, 2006, 01:55 Цитата: "noosooth" to QCasper А Вы ещё какую-то проблему обнаружили? хм... меня попиксельный режим от проблемы не спасает... а еще у меня как-то странно работет setRowHeight... Название: stretchLastSection 4.2.0 Отправлено: noosooth от Октябрь 19, 2006, 10:39 Цитата: "QCasper" хм... меня попиксельный режим от проблемы не спасает... а еще у меня как-то странно работет setRowHeight... Надо бы код посмотреть. А может у нас OS разные? Я только под win проверял. Название: stretchLastSection 4.2.0 Отправлено: QCasper от Октябрь 19, 2006, 23:22 Цитата: "noosooth" Цитата: "QCasper" хм... меня попиксельный режим от проблемы не спасает... а еще у меня как-то странно работет setRowHeight... Надо бы код посмотреть. А может у нас OS разные? Я только под win проверял. так, попиксельный режим вроде как спас, а вот с setRowHeight()... значит вот код: Код: #include <QtGui/QApplication> предлагается скомпилить его сначала в 4.1.*, потом в 4.2.0, и сравнить два результата. А имеенно обратить внимание на высоту строк. Название: stretchLastSection 4.2.0 Отправлено: noosooth от Октябрь 20, 2006, 10:41 Цитата: "QCasper" так, попиксельный режим вроде как спас, а вот с setRowHeight().... 4.1.4 win - Полёт нормальный. 4.2.0 win - Высота устанавливается только для последней строки. (Ну и со скроллингом 'perItem' те же проблемы) Если в 4.2.0 в Вашем примере я разношу по разным циклам создание строк и установку высоты, то это дело кажется приходит в норму. Код: for (int i = 0; i < 5; i++) |