Russian Qt Forum
Ноябрь 23, 2024, 11:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не отображает изображение в applicationwindow  (Прочитано 5374 раз)
nono
Гость
« : Январь 28, 2014, 23:01 »

Добрый вечер!
Проблема в следующем. Вот код:
Код:
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1

ApplicationWindow {
    width: 400
    height: 400

    Action {
        id: actionAddStat
        iconSource: "Images/DeleteStat.png"
    }

    toolBar: ToolBar {
        RowLayout {
            ToolButton {
                action: actionAddStat
            }
        }
    }
}
DeleteStat.png находится в файле ресурса.
Если прогнать этот код через qmlscene, то все нормально работает.
Однако, добавляем вот такой код в main.cpp
Код:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickWindow>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl("qrc:/UI/Stat.qml"));
    QQuickWindow *window = qobject_cast<QQuickWindow*>(engine.rootObjects().value(0));
    window->show();
    return app.exec();
}
После компиляции приложение запускается все нормально, и даже кнопка на своем месте, только на кнопке картинке нет, а вместо картинки пишет следующее:
file:///opt/Qt/5.2.0/gcc_64/qml/QtQuick/Controls/Styles/Base/ToolButtonStyle.qml:79:13: QML Image: Cannot open: qrc:/UI/Images/DeleteStat.png

Внимание! вопрос!!!!!!!!
В чем дело?НепонимающийНепонимающийНепонимающийНепонимающий?
Записан
Bepec
Гость
« Ответ #1 : Январь 29, 2014, 12:00 »

в qrc:/UI/Images/DeleteStat.png нет такой картинки.
Записан
OKTA
Гость
« Ответ #2 : Январь 29, 2014, 12:52 »

А были же времена Qt Quick 1.1, когда все эти кнопочки-фигопочки приходилось самому делать  Смеющийся Смеющийся Смеющийся Хотя почему были, до сих пор делаю  Веселый Веселый
Записан
nono
Гость
« Ответ #3 : Январь 29, 2014, 17:38 »

в qrc:/UI/Images/DeleteStat.png нет такой картинки.
Картинка там есть, точнее она в директории Images в каталоге проекта.
А адрес qrc:/UI/Images/.... это так у меня в файле ресурса прописано
qmlscene все нормально ведь показывает
Записан
OKTA
Гость
« Ответ #4 : Январь 30, 2014, 09:12 »

Я делаю так: в ресурсах прописано <file>content/pics/star.png</file>, а обращаюсь source: "../content/pics/star.png"
Записан
nono
Гость
« Ответ #5 : Январь 30, 2014, 20:19 »

Разобрался.
Короче дело вот в чем.
У меня файлы находятся в каталоге проекта в папке Images/
А в файле ресурса создан префикс для картинов Images и в итоге выглядет так:
/Images
       Images/DeleteStat.png
Вот чтоб иконка отобразилась как надо, нужно обратится к ней так
iconSource: "/Images/Images/DeleteStat.png"
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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