Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
kwisp |
17.1.2009, 10:35
Сообщение
#21
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Litkevich Yuriy @ 17.1.2009, 6:02) Link да так помогло: |
|
|
|
|
Litkevich Yuriy |
17.1.2009, 11:07
Сообщение
#22
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
вот только для конечного пользователя это не вариант. Пока отложил, через некоторое время еще буду думать.
вот в Link, но я пока не понял, то что уменя это исправлено или нет. |
|
|
|
|
kwisp |
17.1.2009, 11:15
Сообщение
#23
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
засада.
я так понял что у тебя в другом потоке заполняется таблица. Цитата Представление еще незаполнено, а метод resizeColumnsToContents уже вызван. может следить за заполнением и по окончании последнего сигнал на который повесить уже этот resizeColumnsToContents() ??? особой надежды на трекер не оставляй многие задачи там могут висеть очень долго. |
|
|
|
|
Litkevich Yuriy |
17.1.2009, 11:20
Сообщение
#24
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(kwisp @ 17.1.2009, 14:15) Link я так понял что у тебя в другом потоке заполняется таблица. это все без моего участия, см. Link reportmodel->setQuery(qstr, db); устанавливается запрос и далее модель сама его исполняет, получает из БД результат, ну а представление его отображает. Насчет асинхронности это лишь догадка. Но похоже асинхронности всетаки нет, т.к. если запрос тяжелый то GUI виснит.Цитата(kwisp @ 17.1.2009, 14:15) Link может следить за заполнением и по окончании последнего сигнал на который повесить уже этот resizeColumnsToContents() ??? я не нашел способа узнать когда отображение завершится. Была дикая мысль использовать событие перерисовки. Но это крайность.
|
|
|
|
|
kwisp |
17.1.2009, 13:10
Сообщение
#25
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
в какой последовательности заполняется таблица???
если заполнение и отрисовка связаны жестко, то можно использовать void QTableWidget::cellChanged ( int row, int column ) [signal] для последней ячейки это будет один из крайних моментов заполнения а следовательно после него можнол делать resizeColumnsToContents() думаю стоит попробовать. |
|
|
|
|
Litkevich Yuriy |
17.1.2009, 13:21
Сообщение
#26
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(kwisp @ 17.1.2009, 16:10) Link в какой последовательности заполняется таблица??? не понял вопроса?Цитата(kwisp @ 17.1.2009, 16:10) Link QTableWidget я непользуюсь виджетом, у меня представление и модель
|
|
|
|
|
kwisp |
17.1.2009, 13:23
Сообщение
#27
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Litkevich Yuriy @ 17.1.2009, 13:20) Link Цитата(kwisp @ 17.1.2009, 16:10) Link в какой последовательности заполняется таблица??? не понял вопроса?ну ты знаешь какая ячейка заполниться последней??? сигнал void QTableWidget::cellChanged ( int row, int column ) [signal] передает номер строки и столбца в которой меняются значения. если повесить слот resizeColumnsToContents() на сигнал о заполнении этой ячейки??? можно быстренько проверить сработает или нет просто соединив этот сигнал со слотом resizeColumnsToContents() нагрузит конечно процессор но зато узнаем.... Сообщение отредактировал kwisp - 17.1.2009, 13:25 |
|
|
|
|
Litkevich Yuriy |
17.1.2009, 13:33
Сообщение
#28
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(kwisp @ 17.1.2009, 16:23) Link ну ты знаешь какая ячейка заполниться последней??? нет, я незнаю зарание сколько строк вернет БД
|
|
|
|
|
kwisp |
17.1.2009, 13:40
Сообщение
#29
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Litkevich Yuriy @ 17.1.2009, 13:33) Link Цитата(kwisp @ 17.1.2009, 16:23) Link ну ты знаешь какая ячейка заполниться последней??? нет, я незнаю зарание сколько строк вернет БДа кол-во столбцов знаешь? а ячейка вообще какая нибудь может остаться не тронутой, т.е не заполняться??? заполнение даже пустой строкой считается что ячейка заполнена если заполняются все ячейки гарантированно и ты знаешь колличество столбцов то можно вызывать resizeColumnsToContents() только когда редактируются ячейки последнего столбца по сигналу QTableWidget::cellChanged ( int row, int column ) а так больше идей как то не находится.... |
|
|
|
|
Litkevich Yuriy |
17.1.2009, 13:50
Сообщение
#30
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(kwisp @ 17.1.2009, 16:40) Link ячейки последнего столбца по сигналу QTableWidget::cellChanged ( int row, int column ) Цитата(Litkevich Yuriy @ 17.1.2009, 16:21) Link Цитата(kwisp @ 17.1.2009, 16:10) Link QTableWidget я непользуюсь виджетом, у меня представление и модель |
|
|
|
![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 7:03 |