У меня есть QWidget и некоторые простые элементы управления, такие как Button, ProgressBar, TextEdit и т. Д., Выполненные в QML, которые я беру из примеров QML.Я читал http://doc.qt.io/archives/qt-4.7/qtbinding.html и http://doc.qt.io/archives/qt-4.7/qml-integration.html в тот момент, когда я пытаюсь QDeclarativeView.
setAttribute(Qt::WA_TranslucentBackground);
layout = new QVBoxLayout(this);
QDeclarativeView* btnView = new QDeclarativeView;
btnView->setSource(QUrl::fromLocalFile("Button.qml"));
QObject* btnObj = btnView->rootObject();
btnObj->setProperty("width", 140);
btnObj->setProperty("height", 32);
btnObj->setProperty("text", "Close");
//progressBar = new QProgressBar(this);
button = new QPushButton("Click", this);
//layout->addWidget(progressBar);
layout->addWidget(button);
btnView->setGeometry(0, 0, 140, 32);
btnView->setBaseSize(140, 32);
layout->addWidget(btnView);
setLayout(layout);
Почему мой btnView занимает столько места?а также это (QDeclarativeView) хороший способ сделать?или существует еще лучшее решение?
При использовании QDeclarativeComponent я получаю QObject.Но не QWidget.и это даже хорошее решение?Какое лучшее решение иметь выгодные простые виджеты в традиционном QWidget?