Russian Qt Forum
Июня 20, 2025, 01:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как правильно передавать данные в итемах гиперссылок QWebView  (Прочитано 2113 раз)
disassembler
Гость
« : Апреля 08, 2011, 12:46 »

У меня была задача передавать сопутствующую информацию для ссылки. потому как у меня был свой обработчик ссылок в QWebView (обработчик сигнала linkClicked).
Вот пример ссылки:
Код:
<a href=file://result/scope_1.dat?title="график синуса">график синуса</a>
если добавлять как есть в код страницы ссылку то при обработки сигнала получи QUrl в котором итем title невозможно декодировать(т.к. на русском языке). Для того чтобы избежать этого надо содержимое тега <a> закодировать с помощью функции:
Пример:
Код:
    //добавляем ссылку на файл в отчет
    QString link = "<a href=file://%1?filetype=osc&";
    link = link
           .arg(fn);

    QByteArray exclude;
    exclude.append('=').append('&');
    QString item  = "title_x=\"%1\"&title_y=\"%2\"&type_x=%3&type_y=%4&title=\"%5\"";
    item = item
           .arg(title_x)
           .arg(title_y)
           .arg(type_x)
           .arg(type_y)
           .arg(title);
    item = QUrl::toPercentEncoding(item, exclude);
    QString text = ">%1</a>";
    text = text
           .arg(title);
Записан
iskander.ali
Гость
« Ответ #1 : Декабря 04, 2014, 23:52 »

Обычно, проблемы с отображением символов кириллицы в Qt решаются использованием класса QTextCodec. Его можно настроить на автоматическую трансляцию QString.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 1.821 секунд. Запросов: 20.