Size: a a a

2020 June 28

МВ

Макс Воробьев... in Qt
Grigorii Kolesnikov ☭
Привет всем!
У меня в приложении есть небольшой чат, и там сообщения приходят в QML Text (который в делегате). Я бы хотел что бы если приходит web-ссылка, она бы была кликабельной. )
Вообще есть одна идея как это сделать, но может есть какое то красивое и простое решение?
<a></a>
источник

МВ

Макс Воробьев... in Qt
Grigorii Kolesnikov ☭
Привет всем!
У меня в приложении есть небольшой чат, и там сообщения приходят в QML Text (который в делегате). Я бы хотел что бы если приходит web-ссылка, она бы была кликабельной. )
Вообще есть одна идея как это сделать, но может есть какое то красивое и простое решение?
источник

МВ

Макс Воробьев... in Qt
<a> + Qt.openUrlExternally(link)
источник

GK

Grigorii Kolesnikov ... in Qt
думаю добавлять теги по условию, если в тексте найдены признаки ссылки
источник

МВ

Макс Воробьев... in Qt
можно посмотреть, как в телеге сделано же
источник

RG

Renat Garaev in Qt
Макс Воробьев
можно посмотреть, как в телеге сделано же
виджеты же, а не QML
источник

GK

Grigorii Kolesnikov ... in Qt
в принципе я понял как сделать
источник

M

Mysle in Qt
Доброго времени суток. У меня следующая проблема: у меня есть поток гуи, который создает дополнительный поток, а он в свою очередь создает еще несколько подпотоков. Внутри этих подпотоков я пытаюсь сделать запрос и дождаться ответа с помощь эвентлуп и по итогу моя программа падает на моменте выполнения .exec()
Из-за чего так может происходить? Если эвентлуп перенести в дополнительный поток, то ничего не падает
источник

Е

Егор in Qt
Mysle
Доброго времени суток. У меня следующая проблема: у меня есть поток гуи, который создает дополнительный поток, а он в свою очередь создает еще несколько подпотоков. Внутри этих подпотоков я пытаюсь сделать запрос и дождаться ответа с помощь эвентлуп и по итогу моя программа падает на моменте выполнения .exec()
Из-за чего так может происходить? Если эвентлуп перенести в дополнительный поток, то ничего не падает
А дебаггер что показывает? Вообще какая-то странная архитектура если честно
источник

M

Mysle in Qt
Дэбагер ничего не показывает. Крашится без объяснения причин. Архитектура обусловлена автоматизацией браузера, где каждая сессия выступает отдельным потоком, а поток, создаваемый потоке гуи, контролирует подпотоки
источник

M

Mysle in Qt
источник

M

Mysle in Qt
ничего необычного. стандартный запрос.
источник

Е

Егор in Qt
Может манагер умирает и вы нуллптр трогаете? А если на QNetworkReply::finished подписываться?
источник

M

Mysle in Qt
Сам код работает. Я переношу тот же самый запрос из подпотока в поток, создаваемый гуями, и все работает
источник

M

Mysle in Qt
Дело именно в подпотоке
источник

Е

Егор in Qt
Егор
Может манагер умирает и вы нуллптр трогаете? А если на QNetworkReply::finished подписываться?
Дебажить многопоток это не самая простая задачка, но попробуйте вот это, мало ли, тут особо и не скажешь ничего, возможно ошибка совершенно в другом месте, просто падает именно тут
источник

M

Mysle in Qt
понял. спасибо, попробую
источник

AS

Anatoly Shirokov in Qt
Mysle
понял. спасибо, попробую
QNetworkReply *answer = manager.get(request);
QEventLoop connection_loop;
connect(&manager, SIGNAL( finished( QNetworkReply* ) ), &connection_loop, SLOT( quit() ) );
connection_loop.exec();
источник

AS

Anatoly Shirokov in Qt
а зачем так делать?
источник

M

Mysle in Qt
А как именно нужно делать? Пользуюсь курлом обычно, но тут он излишен.
источник