Size: a a a

2021 February 08

AU

Abu Umar in Qt
Ух, понял куда копать, большое спасибо
источник

r

rockdrilla🐍 in Qt
а можно увидеть хотя б заголовок сабкласса QAbstractItemModel со списком переопределённых методов?
источник

AU

Abu Umar in Qt
Да можно конечно, пока я попробовал отказаться от самописной модели и использовать QStandardItemModel, тайминги не смотрел но на вид ничего не изменилось
https://pastebin.com/mvMKGSGf
источник

RL

R L in Qt
Подскажите правильно ли я хочу сделать, я хочу сделать так чтобы интерефейс (прогресс бар и пару лейблов, которые могут обновляться быстрее) обновлялся раз в 150-200мс,  как правильно это реализовать? Я хочу сделать структуру с несколькими переменными, в которой будут храниться переменные с последними обновленными значениями, и соотв раз в 150 мс будут обновляться лейблы и прогр бар.
источник

S

Sergey eSKon in Qt
R L
Подскажите правильно ли я хочу сделать, я хочу сделать так чтобы интерефейс (прогресс бар и пару лейблов, которые могут обновляться быстрее) обновлялся раз в 150-200мс,  как правильно это реализовать? Я хочу сделать структуру с несколькими переменными, в которой будут храниться переменные с последними обновленными значениями, и соотв раз в 150 мс будут обновляться лейблы и прогр бар.
ну, с ходу, поэтому может чего-то я не учёл: таймер на любое время которое хотим, и по таймеру считываем текущие значения и обновляем UI
источник

S

Sergey eSKon in Qt
но 150мс для UI -  слишком быстро, зачем оно вам? Глазами такое не увидеть если много изменений, а для чего ещё UI если не для глаз
источник

RL

R L in Qt
Sergey eSKon
ну, с ходу, поэтому может чего-то я не учёл: таймер на любое время которое хотим, и по таймеру считываем текущие значения и обновляем UI
А текущие значения в нормально хранить в структуре, которая глобальна или видима в достаточно большой области программы?
источник

S

Sergey eSKon in Qt
R L
А текущие значения в нормально хранить в структуре, которая глобальна или видима в достаточно большой области программы?
без контекста на этот вопрос нельзя ответить. Вообще глобальные переменные часто плохо, но не всегда. Нужно смотреть кто, откуда доступается до них, зачем они в глобальном пространстве. А то может они только для UI и нужны. Тогда смысл выносить их из класса приемника? Лучше на обновлении данных просто писать их в член-данные и проверять таймаут - если подошло время, то генерить событие. А уж кто подцепится к событию - классу приёмнику пофигу
источник

RL

R L in Qt
Sergey eSKon
без контекста на этот вопрос нельзя ответить. Вообще глобальные переменные часто плохо, но не всегда. Нужно смотреть кто, откуда доступается до них, зачем они в глобальном пространстве. А то может они только для UI и нужны. Тогда смысл выносить их из класса приемника? Лучше на обновлении данных просто писать их в член-данные и проверять таймаут - если подошло время, то генерить событие. А уж кто подцепится к событию - классу приёмнику пофигу
Спасибо
источник

IA

Iron Ass in Qt
Пинг) ребят, а есть чатик с вакансиями на qt?
источник

AS

Anton Shilin in Qt
Iron Ass
Пинг) ребят, а есть чатик с вакансиями на qt?
источник

AS

Anton Shilin in Qt
не совсем кути, но как я понял, дружественный канал :)
источник

IA

Iron Ass in Qt
Благодарю)
источник

AU

Abu Umar in Qt
Stas Koynov
главное чтоб идея сработала :) может я был не прав с ДОС атакой. тогда нужно копать глубже. возможно запускать валгринд чтоб понять где затык
Натравил туда профилировщик из msvs. Выделил на графике только момент "зависания". Получил что всё упирается в прокси модель. То есть добавляю по строчке в модель и вызывается перерисовка ui (?) если я всё правильно понял то ui дергается примерно 2к/сек.
источник

SK

Stas Koynov in Qt
Abu Umar
Натравил туда профилировщик из msvs. Выделил на графике только момент "зависания". Получил что всё упирается в прокси модель. То есть добавляю по строчке в модель и вызывается перерисовка ui (?) если я всё правильно понял то ui дергается примерно 2к/сек.
ну за прокси не скажу ниразу не юзал. у простой модели мы UI дергаем сами послав сигнал мол данные изменились. я думаю аналогично и там. короче тебе просто нужно искуственно снизить это дело через таймер
источник

m

mefest in Qt
Abu Umar
Натравил туда профилировщик из msvs. Выделил на графике только момент "зависания". Получил что всё упирается в прокси модель. То есть добавляю по строчке в модель и вызывается перерисовка ui (?) если я всё правильно понял то ui дергается примерно 2к/сек.
ты по строчке добавляешь? не можешь сразу все изменения влить и обновить модель?
источник

AU

Abu Umar in Qt
mefest
ты по строчке добавляешь? не можешь сразу все изменения влить и обновить модель?
Я подумал уже так сделать, попробую посмотреть что получится. Но если там данные будут добавляться несколько секунд в ui ничего не будет меняться то ситуация слабо улучшается. Разве что progressDialog запускать, он нормально работает сколько бы ни было попыток обновления в секунду
источник

m

mefest in Qt
Abu Umar
Я подумал уже так сделать, попробую посмотреть что получится. Но если там данные будут добавляться несколько секунд в ui ничего не будет меняться то ситуация слабо улучшается. Разве что progressDialog запускать, он нормально работает сколько бы ни было попыток обновления в секунду
ну обновлять вью пока идет изменение модели спорно. а так да можно уведомить пользователя что программа думает
источник

МС

Михаил Серебренников... in Qt
Iron Ass
Пинг) ребят, а есть чатик с вакансиями на qt?
Присылай нам в 2ГИС резюме.)
источник

IA

Iron Ass in Qt
Михаил Серебренников
Присылай нам в 2ГИС резюме.)
источник