Портирование с qt5.5 на qt5.9, удаление qtdeclarative модуля - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть проект, написанный на qt5.5 и ниже, который содержит модуль qtdeclarative, я пытаюсь портировать qt5.5 +, но мой проект использует модуль qtdeclarative, который удален. Поэтому я добавил эквивалент, как сказано в этом документе, но члены удалены или перемещены в другой класс (setAttribute, viewport, setRenderHints, setViewportUpdateMode), так как я могу использовать эти члены внутри моего MainViewX или для qt5.9 + Могу ли я использовать qtdeclarative без значительно изменили мой код?

enter image description here

    QQuickView  *MainViewX;//QDeclarativeView    *MainViewX;
    QQmlEngine  *EngineX;//QDeclarativeEngine  *EngineX;
    QQmlContext *ContextX;//QDeclarativeContext *ContextX;


    QString QML_MainWindow;




#include <QQmlPropertyMap> //#include <QDeclarativePropertyMap>

#include <QTranslator>

MainWindow::MainWindow(QApplication *app, QWidget *parent,QTranslator * mtrans) :
    QWidget(parent)
{
    MainViewX    = new QQuickView;//new QDeclarativeView;
    EngineX      = MainViewX->engine();
    ContextX     = MainViewX->rootContext();

    Info = new InfoX(MainViewX);

    QML_MainWindow = "qrc:qml/main.qml";

    MainViewX->setSource(QML_MainWindow);
    MainViewX->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::TextAntialiasing);

    MainViewX->setAttribute(Qt::WA_OpaquePaintEvent); //Qt::WA_TranslucentBackground
    MainViewX->setAttribute(Qt::WA_NoSystemBackground);
    MainViewX->viewport()->setAttribute(Qt::WA_OpaquePaintEvent);
    MainViewX->viewport()->setAttribute(Qt::WA_NoSystemBackground);
    MainViewX->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Это не фактический ответ, но я удаляю и использую новые библиотеки qt для проекта.Так что qдекларативная проблема больше не актуальна.

0 голосов
/ 04 апреля 2019

QtDeclarative был удален с Qt 5.6.Вы должны добавить QT += declarative в ваш файл * .pro и включить заголовочный файл QtDeclarative / QDeclarativeView .

Для получения дополнительной информации см. Документацию Qt .

...