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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: утечка памяти в модели qt:decorationRle QIcon [РЕШЕНО]  (Прочитано 3883 раз)
nvek
Гость
« : Июль 21, 2017, 08:26 »

Я правильно понимаю, что view отлавливает изменения курсора и этим дергает метод data() ?(поправте если я ошибась)
а может ли быть такое? что когда вью перерисовывается, заново выделяет память под новые иконки

Код:
QVariant data(const QModelIndex& index, int role) const
{
    if (!index.isValid())
        return QVariant();
 
    ...
    
 
    switch (role)
    {
    case Qt::DecorationRole:
    {
        ...
            return getIcon(...);
может ли тут быть утечка памяти?


Код:
const QIcon getIcon(...) const
{
    switch ()
    {
    ...
        return QIcon(...);
к чему я все это. У меня возникла некоторая проблема: при шtвелении курсора, выделении, в диспетчере задач, мое gui приложение хавает ну примерно по 200кб + каждый раз когда курсором пробегся по элементам дерева в treeView
и так далее.
« Последнее редактирование: Июль 21, 2017, 10:51 от nvek » Записан
nvek
Гость
« Ответ #1 : Июль 21, 2017, 09:51 »

вот не поверите. но так все и есть, я закоментил этот свитч и наплыва памяти просто нету.
как такое может быть???
(╯°□°)╯︵ ┻━┻
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #2 : Июль 21, 2017, 10:23 »

getIcon видать жреть всю память...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
nvek
Гость
« Ответ #3 : Июль 21, 2017, 10:52 »

Да, сделал вот как:
Код:
const QIcon StatTreeCtrl::getIcon( role ) const
{
        static const QMap<role, QIcon> t =
{
std::pair<StatisticType, QIcon>(role, ...),
...
};
return t.value(role, QIcon());
Записан
nvek
Гость
« Ответ #4 : Июль 21, 2017, 10:54 »

перестало кушать!
 Непонимающий  Непонимающий  Непонимающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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