首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将qt5.5移植到qt5.9,删除to声明性模块

将qt5.5移植到qt5.9,删除to声明性模块
EN

Stack Overflow用户
提问于 2019-04-04 20:24:58
回答 2查看 1K关注 0票数 2

我有一个项目,写在qt5.5和以下,它包含it声明模块,我试图移植qt5.5+,但我的项目使用it声明模块被删除。因此,我添加了本文所说的等价物,但是成员被移除或移动到另一个类(setAttribute,viewport,setRenderHints,setViewportUpdateMode ),那么我如何在MainViewX中使用这些成员,或者在qt5.9+中使用but声明性,而不对我的代码进行重大更改?

代码语言:javascript
复制
    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);
EN

回答 2

Stack Overflow用户

发布于 2019-04-04 20:53:47

从Qt 5.6起,QtDeclarative已被删除。您必须在*.pro文件中添加QT += declarative,并包含头文件QtDeclarative/QDeclarativeView。

有关更多信息,请参阅Qt documentation

票数 0
EN

Stack Overflow用户

发布于 2019-04-16 15:55:11

这不是一个实际的答案,但我正在为项目移除并使用新的qt库。所以So声明性问题不再相关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55515960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档