2

我正在尝试为现有的 C++ 项目制作一个新的 QtQuick 2.0 Gui。旧的 QtGui 是由一个班级管理的,所以我也想从这个班级管理新的 gui。到目前为止,我在 main 函数中打开了 gui,但是当我将代码移动到我的 gui 类时,它产生的一切都是一个白色的小窗口。我的问题有解决方案吗/我哪里错了?

这是我的代码:

#include <QQuickView>
#include <QObject>
#include <QQuickItem>

#include "gui.h"
#include "qtquick2applicationviewer.h"

gui::gui(QWidget *parent) :
QWidget(parent)
{
    QQuickView viewer;
    viewer.setSource(QUrl::fromLocalFile("qml/QML-MRGalleyServer/main.qml"));
    viewer.show();
    QQuickItem* object = viewer.rootObject();

    object->setProperty("nextpicture1","Images/widget2.png");
    object->setProperty("nextpicture2","Images/widget7.png");
    object->setProperty("galleyColor","transparent");
}

主.cpp:

 #include <QApplication>
 #include <QtCore>
 #include <opencv2/core/core.hpp>
 #include <opencv2/highgui/highgui.hpp>

 #include "qtquick2applicationviewer.h"
 #include "gui.h"

 int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    gui gui;
    gui.show();

    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
    return app.exec();
}
4

1 回答 1

1

啊,我自己解决了这个问题。我必须在标题中启动 QQuickView。gui.h:私有:QQuickView* 查看器;gui.cpp:查看器 = 新 QQuickView;白色窗口是由 gui.show() 引起的,所以我将其删除。

于 2014-02-24T10:56:34.660 回答