Russian Qt Forum
Ноябрь 24, 2024, 01:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [4.4.0] Упала скорость при работе с моделями.  (Прочитано 6114 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« : Май 07, 2008, 10:11 »

Ничего не понимаю... Один и тот же код, скомпиленный под 4.3.3 и 4.4.0 работает с разной скоростью, причем разной более чем в 100 раз.  В замешательстве
Код:
qtvTable=new QTableView(this);
qtvTable->setSelectionBehavior(QAbstractItemView::SelectRows);
qtvTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
qtvTable->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
qsimModel=new QStandardItemModel(this);
qsimModel->setColumnCount(5);
QStringList Headers;
Headers << tr("Famil") << tr("Name") << tr("Otch") << tr("Schet") << tr("Money");
qsimModel->setHorizontalHeaderLabels(Headers);
qtvTable->setModel(qsimModel);
qsimModel->setRowCount(1000);
for (int i=0; i<1000; i++)
{
QStandardItem *item;
item=new QStandardItem("dsfgdgsdfgsdfgsdfg");
qsimModel->setItem(i,0,item);
item=new QStandardItem("dsfgdgsdfgsdfgsdfg");
qsimModel->setItem(i,1,item);
item=new QStandardItem("dsfgdgsdfgsdfgsdfg");
qsimModel->setItem(i,2,item);
item=new QStandardItem("dsfgdgsdfgsdfgsdfg");
qsimModel->setItem(i,3,item);
item=new QStandardItem("dsfgdgsdfgsdfgsdfg");
item->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
qsimModel->setItem(i,4,item);
}
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
crocus
Гость
« Ответ #1 : Май 07, 2008, 17:43 »

Цитировать
Код:
qtvTable->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);

Здесь проверь...
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Май 07, 2008, 17:55 »

Попробую. Но как может это нормально работать в 4.3.3 и тормозить в 4.4.0???
Проверьте кто-нибудь. Может это у меня только такой косяк?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
altVis
Гость
« Ответ #3 : Май 07, 2008, 19:22 »

panter_dsd, у меня на 4.4 софт начал сегментиться при каждом чихе, а в QTreeWidget вообще текст item'ов не показывает, закрашивая их белыми прямоугольниками.

Если создавать форму заново в дизайнере, то всё в норме. А толку? всё переделывать теперь?
Релиз ужасен.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Май 08, 2008, 07:13 »

Цитировать
Код:
qtvTable->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);

Здесь проверь...
Оно, млин. Но почему??? Троли обложались. Грустный
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
crocus
Гость
« Ответ #5 : Май 08, 2008, 08:36 »

Попробуй сначала заполнить модель данными,а потом уже вешать на нее вьюху и ресайзить.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Май 08, 2008, 12:18 »

А как можно отцепить модель от вьюхи?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #7 : Май 08, 2008, 17:37 »

Оно, млин. Но почему??? Троли обложались. Грустный

Напиши баг репорт, о том что регресс по сравнению с 4.3.4
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Lion
Гость
« Ответ #8 : Май 10, 2008, 00:09 »

Да, что-то много различий по сравнению с 4.3.4. Вот то, что я заметил:
1) Не рисуется фокус в QTreeWidget при selectionMode=NoSelection
2) Если при заполнении модели указать QTreeWidgetItem::setExpanded(true), то возможен вылет приложения
3) Если послать данные в QSSlSocket и затем сразу вызвать disconnectFromHost и waitForDisconnected, то последняя функция всегда выходит по таймауту
4) Появились ненужные черные треугольники внизу кнопок тулбара, когда по ним вызывается меню

А резкое замедление заполнения моделей я еще заметил при переходе с 4.3.2 на 4.3.4
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.