alex_lip
Dec. 25, 2017, 2:50 p.m.

В строке listview среди общего текста есть ссылка - как ее открыть

В строке listview среди общего текста есть ссылка -

<font color='red' size='2'>некий текст </font><font color='black'> <a href="https://www.ttt.ru/">(ссылка)</a></font>

как ее открыть? Найти текст между  <a href= и  >  по  onDoubleClicked: { - куда-то его передать?







2

Do you like it? Share on social networks!

4
alex_lip
  • Dec. 25, 2017, 5:34 p.m.
  • The answer was marked as a solution.

Отличная вещь

onLinkActivated:

                    {
                        Qt.openUrlExternally(link);
                        console.log(link + " link activated");
                    }
    alex_lip
    • Dec. 25, 2017, 6:27 p.m.

    Однако остался вопрос - если для всей строки существует
    MouseArea {

               anchors.fill: parent
               onClicked: {
    и я еще хочу отследить onLinkActivated:   в тексте, который находится ВНУТРИ строки - то естественно onclick мышки перекрывает onLink текста - Как бы onlink поместить поверх onclick ???



      Evgenii Legotckoi
      • Dec. 26, 2017, 3:34 p.m.

      Добрый день.

      MouseArea в принципе работает достаточно по-идиотски и действительно перекрывает другие события.
      Но кое-что удавалось пофиксить выставлением свойства propagateComposedEvents в true .
      Правда в документации написано, что это распространяется на другие перекрытые MouseArea, поэтому не знаю, как это сработает для ListView.
      MouseArea {
          anchors.fill: parent
          propagateComposedEvents: true
          onClicked: {
          }
      }
      А также обратите своё внимание на обработчики событий из Qt 5.10, если у вас есть возможность апдейтнуться в проекте до этой версии.
      Там есть более адекватно работающие обработчики событий кликов и мыши .
        alex_lip
        • Dec. 26, 2017, 4 p.m.
        • (edited)

        propagateComposedEvents:
        В моем случае не прокатило. На 5.10 проапдейтился сразу - благо проект тестовый. Доку буду читать. Спасибо.
        Еще пробовал
         mouse.accepted = false
        на верхнем уровне. Сразу не получилось. Еще покопаю.
        Сейчас компильнул все под MAc - как вы советовали - надыбал мак - мини. Все норм. На эмуляторе iphone 10 тоже все хорошо, но на сам iphone - не деплоится. Хотя статус разработчика включен и apple id - девелоперский(бесплатный).  Будем еще пробовать. Но вообще говоря я в полном восторге от QT/QML !! Java мне вообще не зашла. А здесь - просто супер!

          Comments

          Only authorized users can post comments.
          Please, Log in or Sign up
          • Last comments
          • AK
            April 1, 2025, 11:41 a.m.
            Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
          • Evgenii Legotckoi
            March 9, 2025, 9:02 p.m.
            К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
          • VP
            March 9, 2025, 4:14 p.m.
            Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
          • ИМ
            Nov. 22, 2024, 9:51 p.m.
            Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
          • Evgenii Legotckoi
            Oct. 31, 2024, 11:37 p.m.
            Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup