2

既存の C++ プロジェクト用に新しい QtQuick 2.0 GUI を作成しようとしています。古いQtGuiはクラスで管理していたので、新しいGUIもこのクラスから管理したい。これまでのところ、メイン関数内で 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");
}

main.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 に答える