crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Открытие файла не из ресурсов в QSS
ruzik
  опции профиля:
сообщение 30.11.2011, 17:05
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Здравствуйте, вот видел в одном open source проекте как можно открыть файл из QSS, даже если файла нет в ресурсах, все в принципе просто:
Цитата
background-image:url(images/transp.png);
и открывает изображение которое находится в папке images рядом с qss файлом
И я попытался сделать так же:
Цитата
image: url(images/up_arrow.png);

Сам QSS файл парсит нормально, а картинки читать не хочет, рядом с QSS файлом есть папка images

Сообщение отредактировал ruzik - 1.12.2011, 13:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 30.11.2011, 18:09
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(ruzik @ 30.11.2011, 18:05) *
Цитата
background-image:url(images/transp.png);
и открывает изображение которое находится в папке images рядом с qss файлом

Нет, файлы ищутся не относительно qss а относительно текущего каталога. То что возвращается QDir::current. IMHO это глупость. У себя мы сделали препроцессинг файла
QString RazorThemePrivate::loadQss(const QString& qssFile) const
{
    QFile f(qssFile);
    if (! f.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        qWarning() << "Theme: Canot open file for reading:" << qssFile;
        return "";
    }

    QString qss = f.readAll();
    f.close();

    if (qss.isEmpty())
        return "";

    // handle relative paths
    QString qssDir = QFileInfo(qssFile).canonicalPath();
    qss.replace(QRegExp("url.[ \\t\\s]*", Qt::CaseInsensitive, QRegExp::RegExp2), "url(" + qssDir + "/");

    return qss;
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 30.11.2011, 18:40
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Спасибо за помощь, буду пытаться вашим способом сделать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 14:22