Size: a a a

2021 January 22

DT

Dmitry Tvorog in Qt
Извиняюсь если непонятно выразился, но с самого начала имелось ввиду смена экрана в приложении
источник

ПК

Побитый Кирпич... in Qt
Dmitry Tvorog
Извиняюсь если непонятно выразился, но с самого начала имелось ввиду смена экрана в приложении
Тогда то что  ты скинул это вообще не то
источник

МВ

Макс Воробьев... in Qt
Dmitry Tvorog
Извиняюсь если непонятно выразился, но с самого начала имелось ввиду смена экрана в приложении
источник

RH

Roman Hakh in Qt
Здравствуйте
У меня вопрос по QML.
Создал Game Of Life на основе TableView.
В таблице имеется большое количество элементов (200 х 200). Каждый ход TableView запрашивает у модели все эти елементы, выходит 40000 вызовов каждый раз.
Вопрос: можно ли каким то образом вернуть модели сразу весь массив елементов, что бы она не вызывала для каждого елемента data ф-цию ? Или есть более эффективный способ нежели использовать TableView ?
П. С.: пробовал гуглить, ничего не нашел.
источник

m

mefest in Qt
Roman Hakh
Здравствуйте
У меня вопрос по QML.
Создал Game Of Life на основе TableView.
В таблице имеется большое количество элементов (200 х 200). Каждый ход TableView запрашивает у модели все эти елементы, выходит 40000 вызовов каждый раз.
Вопрос: можно ли каким то образом вернуть модели сразу весь массив елементов, что бы она не вызывала для каждого елемента data ф-цию ? Или есть более эффективный способ нежели использовать TableView ?
П. С.: пробовал гуглить, ничего не нашел.
смотрел в примерах как сделали?
источник

RH

Roman Hakh in Qt
mefest
смотрел в примерах как сделали?
Да. Это я как раз переделал пример под себя. В примере TableView. И там тоже медлено работает.
источник

МВ

Макс Воробьев... in Qt
Roman Hakh
Здравствуйте
У меня вопрос по QML.
Создал Game Of Life на основе TableView.
В таблице имеется большое количество элементов (200 х 200). Каждый ход TableView запрашивает у модели все эти елементы, выходит 40000 вызовов каждый раз.
Вопрос: можно ли каким то образом вернуть модели сразу весь массив елементов, что бы она не вызывала для каждого елемента data ф-цию ? Или есть более эффективный способ нежели использовать TableView ?
П. С.: пробовал гуглить, ничего не нашел.
1)всегда можно рисовать через canvas/qpainteditem. 2) вернуть из модели один раз QObject, который будет меняться и при изменении оповестит ячейку
источник

m

mefest in Qt
Roman Hakh
Да. Это я как раз переделал пример под себя. В примере TableView. И там тоже медлено работает.
в релизной сборке смотрел?
источник

RH

Roman Hakh in Qt
mefest
в релизной сборке смотрел?
У меня последняя версия QT open source стоит. Это релизная сборка ?
источник

m

mefest in Qt
Roman Hakh
Здравствуйте
У меня вопрос по QML.
Создал Game Of Life на основе TableView.
В таблице имеется большое количество элементов (200 х 200). Каждый ход TableView запрашивает у модели все эти елементы, выходит 40000 вызовов каждый раз.
Вопрос: можно ли каким то образом вернуть модели сразу весь массив елементов, что бы она не вызывала для каждого елемента data ф-цию ? Или есть более эффективный способ нежели использовать TableView ?
П. С.: пробовал гуглить, ничего не нашел.
вообще по идее модель должна сама посылать сигнал только о тех данных которые изменились
источник

m

mefest in Qt
Roman Hakh
У меня последняя версия QT open source стоит. Это релизная сборка ?
источник

RH

Roman Hakh in Qt
попробовал. Всеравно достаточно медлено.
источник

RH

Roman Hakh in Qt
Макс Воробьев
1)всегда можно рисовать через canvas/qpainteditem. 2) вернуть из модели один раз QObject, который будет меняться и при изменении оповестит ячейку
И это будет быстрее чем использовать tableView ?
источник

m

mefest in Qt
Roman Hakh
Да. Это я как раз переделал пример под себя. В примере TableView. И там тоже медлено работает.
в примере похоже что вызывается dataChanged для всех ячеек
источник

RH

Roman Hakh in Qt
mefest
в примере похоже что вызывается dataChanged для всех ячеек
да. Странно что никак нельзя сделать чтоб ф-ция data вернула сразу массив ячеек. Так было бы быстрее.
источник

m

mefest in Qt
Roman Hakh
да. Странно что никак нельзя сделать чтоб ф-ция data вернула сразу массив ячеек. Так было бы быстрее.
там по идее надо поменять метод в модели nextStep, чтоб выкидывался dataChanged только на те облости которые изменились
источник

МВ

Макс Воробьев... in Qt
Roman Hakh
И это будет быстрее чем использовать tableView ?
если использовать Canvas/PaintedItem, то возможно
источник

МВ

Макс Воробьев... in Qt
с QObject - как верно заметил @mefest , лучше правильно настроить dataChanged
источник

RH

Roman Hakh in Qt
mefest
там по идее надо поменять метод в модели nextStep, чтоб выкидывался dataChanged только на те облости которые изменились
Попробовал выкидивать dataChanged только если ячейка изменилась. Результат одинаков
источник

RH

Roman Hakh in Qt
Макс Воробьев
с QObject - как верно заметил @mefest , лучше правильно настроить dataChanged
Прошерстил формы. Ускориться обработку tableview никак нельзя. View запрашивает все данные только через ф-цию data. Массивом их никак нельзя вернуть.
источник