如何调整QWidget中嵌入的QML小部件的大小?

Ham*_*Spb 4 qt qml

如何自动调整QML小部件的大小?

我手工创建了QWidget.在这个小部件中创建了QML组件.

但是当我调整QWidget的大小时,QML组件不会调整大小.

一些代码......

我有MyCustomQWidget类

标题:

Class MyCustomQWidget : public QWidget
{
Q_OBJECT
public:
    QDeclarativeView* view;
private:
        QWidget* m_GUI;
public:
    QWidget* getGUI()  {return m_GUI;};
}
Run Code Online (Sandbox Code Playgroud)

资源:

MyCustomQWidget:: MyCustomQWidget (QWidget *parent) :QWidget(parent)
{
    m_GUI = new QWidget();

    view = new QDeclarativeView(m_GUI);
    view->setSource(QUrl("qrc:/qml/gui.qml"));
    //view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
}
Run Code Online (Sandbox Code Playgroud)

在主gui框架小部件

QWidget* pCustomGUI = new MyCustomQWidget(…)
pVLayoutLeft->addWidget(pCustomGUI->getGUI);
Run Code Online (Sandbox Code Playgroud)

Ste*_*fen 6

问题中没有太多细节,但如果您使用a QDeclarativeView来显示QML,请查看其setResizeMode()成员.设置它QDeclarativeView::SizeRootObjectToView可能只是做你想要的:它自动调整QML的根对象的大小到视图的大小.