Название: аналог model-view решения для HTML ? Отправлено: mezmay от Январь 27, 2014, 21:03 Есть клиент-серверный чат на Qt, поддерживает в качестве отображаемых сообщений текст и картинки. Выводит это в виде html в QtextEdit. Также он поддерживает оффлайн-сообщения.
В результате если пользователь авторизуется, а ему "падают" из оффлайн 30 сообщений с картинками (~800х800), то клиент подвисает. Не очень понимаю, как убрать это торможение. Принимать сообщения в базу, а к ней прикрутить html-представление?? Также не понимаю, как реализовать просмотр большой истории клиента без больших тормозов... Подскажите, куда копать Название: Re: аналог model-view решения для HTML ? Отправлено: gil9red от Январь 27, 2014, 21:17 От тормозов спасает создание отдельных потоков. Гуи висит потому что главный поток в котором он создавался перегружен, поэтому затратные и длительные операции рекомендуется создавать в отдельном потоке :)
По поводу потоков, смотрите QThread и QtConcurrent с QFuture :) Название: Re: аналог model-view решения для HTML ? Отправлено: mezmay от Январь 27, 2014, 21:20 так у меня длительная операция - отрисовка сообщений на форме, ее-то в другой поток не перенесешь
Название: Re: аналог model-view решения для HTML ? Отправлено: mezmay от Январь 27, 2014, 21:44 еще вопрос. не понимаю, можно ли к таблице БД через модель прикрутить представление в виде html-страницы, ну то есть списка сообщений (автор + текст OR картинка), то есть как бы к QSqlTableModel прикрутить QListView или его наследника?...
Проясните ситуацию пожалуйста Название: Re: аналог model-view решения для HTML ? Отправлено: Kurles от Январь 28, 2014, 00:21 так у меня длительная операция - отрисовка сообщений на форме, ее-то в другой поток не перенесешь Если по одному сообщению через сигнально-слотовый механизм передавать из отдельного потока в гуёвый поток то гуй по крайней мере виснуть не будет.Название: Re: аналог model-view решения для HTML ? Отправлено: mezmay от Январь 28, 2014, 09:11 Если по одному сообщению через сигнально-слотовый механизм передавать из отдельного потока в гуёвый поток то гуй по крайней мере виснуть не будет. Да, можно и так попробовать, должно стать лучше, особенно если через QueuedConnection.Но все-таки хотелось бы прояснить вопрос с model-view |