Название: QTableView и авто resizeColumnsToContents Отправлено: studentenok от Декабрь 04, 2007, 17:42 может не досмотрел в асистанте
при окончании редактирования ячейки в QTableView нужно изменить размер столбца под содержимое ячейки (под максимальное по длине симолов содержимое в видимых ячейках) сделал setEditStrategy(QSqlTableModel::OnFieldChange) и повесил на connect( &model,SIGNAL( beforeUpdate(int, QSqlRecord &)), this, SLOT( resizeColumn() )); в resizeColumn() типа QTableView.resizeColumnsToContents() но QTableView как-то странно ведёт себя, после нажатия Enter (типа окончание редактирования ячейки) фокус не понятно куда "улетает" (на первую верхнюю ячейку QTableView) (( Название: Re: QTableView и авто resizeColumnsToContents Отправлено: ритт от Декабрь 04, 2007, 18:51 /* резко захотелось админку */
ты сам понял что сделал? ты очень многого не досмотрел в ассистанте! Цитировать void QSqlTableModel::setEditStrategy ( EditStrategy strategy ) [virtual] Sets the strategy for editing values in the database to strategy. This will revert any pending changes. See also editStrategy() and revertAll(). Цитировать QSqlTableModel::OnFieldChange - All changes to the model will be applied immediately to the database. Цитировать void QTableView::resizeColumnsToContents () [slot] Resizes all columns based on the size hints of the delegate used to render each item in the columns. найди какой-нибудь гуи к любой бд, выполни в нём селект, чтобы в табличку выбрались строки, затем измени какую-нибудь ячейку, затем растяни хидер по контенту и тут же снова сделай селект... куда делся фокус? непонятно куда? продолжай читать ассистант... на лоре в прошлом месяце проскакивала новость о том, что кто-то где-то намылился переводить кутэшные доки на русский - поищи линк и читай на русском, раз с аглицким _такие_ проблемы! Название: Re: QTableView и авто resizeColumnsToContents Отправлено: studentenok от Декабрь 04, 2007, 20:41 спасибо за разъяснение, понемногу доходит
я похоже не к тому прикрутил идея такая, что после нажатия Enter/Tab или перевода фокуса мышкой/клавишами столбец автоматически изменял свой размер под содержимое ячеек. пока получается, что если в поле внесли содержимое по размеру больше, чем размер столбца, то обрезает по размеру столбца, что очень не удобно. кто-нибудь с этим работал? p/s я "учил" французский :-[ Название: Re: QTableView и авто resizeColumnsToContents Отправлено: ритт от Декабрь 04, 2007, 21:21 ну, звыняй тогда...день тяжелый
ага...пятку с ухом сконнектил у селекшМодели лови сигнал куррентЧенджет(нью, олд) /* если не путаю */ и для олд.колумен() делай ресайзТуКонтент <snip> мне такой подход кажется несколько неуместным (в глазах юзверя) - юзверь выставил столбцы, как ему нравится, а оно потом всё прыгает... поищи всё-таки линк на руссифицированные доки...должно быть потешно Название: Re: QTableView и авто resizeColumnsToContents Отправлено: SerjVarshavskiy от Декабрь 04, 2007, 21:33 попробуй
connect( tableView->selectionModel(), SIGNAL( selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT( resizeColumn() )); Название: Re: QTableView и авто resizeColumnsToContents Отправлено: ритт от Декабрь 04, 2007, 21:44 ага...название сигнала, значит, не угадал...
серж, и что получится? боюсь, ресайзКолумн без нумера колумна не сработает...в код лезть лениво Название: Re: QTableView и авто resizeColumnsToContents Отправлено: SerjVarshavskiy от Декабрь 04, 2007, 22:00 студентенок указывал: "в resizeColumn() типа QTableView.resizeColumnsToContents()"
наверно это самописный слот в котором вызывается resizeColumnsToContents() т.е. номер не нужен Название: Re: QTableView и авто resizeColumnsToContents Отправлено: ритт от Декабрь 04, 2007, 22:07 а...быть может
теперь я боюсь, что QTableView.resizeColumnsToContents() не сработает...шибко сказочный код Название: Re: QTableView и авто resizeColumnsToContents Отправлено: Dodge от Декабрь 05, 2007, 14:41 человеки, resizeColumnsToContents с багом, баг давно отрепорчен, ждем фикса.
Название: Re: QTableView и авто resizeColumnsToContents Отправлено: pastor от Декабрь 05, 2007, 14:59 человеки, resizeColumnsToContents с багом, баг давно отрепорчен, ждем фикса. А какой его айди на Task Tracker? Название: Re: QTableView и авто resizeColumnsToContents Отправлено: Dodge от Декабрь 05, 2007, 15:02 А какой его айди на Task Tracker? Завтра скажу, мессадж с айди у сотрудника домаНазвание: Re: QTableView и авто resizeColumnsToContents Отправлено: studentenok от Декабрь 05, 2007, 21:40 вроде работает, ничего не замечаю, но таблички маленькие
Название: Re: QTableView и авто resizeColumnsToContents Отправлено: ритт от Декабрь 05, 2007, 23:00 русская локализация доков по кутям http://www.crossplatform.ru/documentation/qtdoc4.3/ (http://www.crossplatform.ru/documentation/qtdoc4.3/)
ещё у меня есть частично допереведённый qt_ru.ts - могу выложить, если кому надо Название: Re: QTableView и авто resizeColumnsToContents Отправлено: Dodge от Декабрь 06, 2007, 13:59 А какой его айди на Task Tracker? Либо 181218 либо 181351Название: Re: QTableView и авто resizeColumnsToContents Отправлено: ритт от Декабрь 06, 2007, 14:13 нет таких айдишничков
как себя бага хоть проявляла? /* так...праздное любопытство */ Название: Re: QTableView и авто resizeColumnsToContents Отправлено: Dodge от Декабрь 06, 2007, 14:27 нет таких айдишничков Вот что было запощено:как себя бага хоть проявляла? /* так...праздное любопытство */ Цитировать > Short description: > table columns auto resize > > What I did: > QTableWidget *tableWidget = new QTableWidget; > tableWidget->horizontarHeader()->setResizeMode(QHeaderView::ResizeToContent); > > > What I expected to see: > I would happen to see auto resize of table columns when i finished > editins cell contents that overlapps width of the column. > > > What I got instead: > Auto resize of column will happens only if i manually resize main > window. > > More info: > And another platform have this bug: > Gentoo Linux, Qt 4.3.0, gcc 4.2.0 |