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

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);发布于 2019-04-04 20:53:47
从Qt 5.6起,QtDeclarative已被删除。您必须在*.pro文件中添加QT += declarative,并包含头文件QtDeclarative/QDeclarativeView。
有关更多信息,请参阅Qt documentation。
发布于 2019-04-16 15:55:11
这不是一个实际的答案,但我正在为项目移除并使用新的qt库。所以So声明性问题不再相关。
https://stackoverflow.com/questions/55515960
复制相似问题