2017-08-14 4 views
0

私は標準的なウィジェットのスタイルに基づいた置換えが必要で、カスタムウィジェットを使用して実装するのは難しいです。私はクイックコントロールモジュールからのウィジェットを組み込み、それを通常のウィジェットとして使用する方法があるのだろうかと思っていましたか?qtウィジェットアプリケーションでクイックコントロールを使用できますか?

答えて

2

アプリケーションがQt5.1以上の場合、答えは可能です。

QQuickViewオブジェクトを使用し、静的関数createWindowContainerQWidgetに渡す必要があります。これは、パラメータとしてQWindowとなります。

QQuickViewQQuickWindowは、QWindowに由来する。

QQuickViewを入力としてcreateWindowContainerに渡すことができます。

以下はおおよそのコードです。あなたはレイアウトであなたのQMLビューを挿入したい場合は、QQuickWidgetを使用することができます

//CREATE A QQuickView OBJECT. 
QQuickView *view = new QQuickView(); 

//ADD THE QQuickView OBJECT TO QWidget::createWindowContainer 
QWidget *container = QWidget::createWindowContainer(view, this); 

//ADD SOURCE 
view->setSource(QUrl("your.qml")); 

//ADD THE CONTAINER TO YOUR LAYOUT. 
ui->verticalLayout->addWidget(container); 
1

は:

//CREATE THE QQuickWidget 
QQuickWidget *quickWidget = new QQuickWidget(this); 

//ADD SOURCE 
view->setSource(QUrl("your.qml")); 

//ADD THE QQuickWidget TO YOUR LAYOUT. 
ui->verticalLayout->addWidget(quickWidget); 

私はQQuickWidgetの代わりQQuickViewを使用するには、@ katamarayuduのコードを適応しました。

関連する問題