私はQWidgetを持っており、Button、ProgressBar、TextEditなどのSimples Controlをいくつか持っています。QMLの例から取り上げたQMLで行われました。私はQDeclarativeViewを試している時点でhttp://doc.qt.io/archives/qt-4.7/qtbinding.htmlとhttp://doc.qt.io/archives/qt-4.7/qml-integration.html を読んでいました。QWidgetのQMLウィジェット
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で収益性の高いシンプルなウィジェットを持つベストソリューションは何ですか?