1

嘿伙计们,我有一个非常简单的 QML 文件,我正在使用以下代码加载它:

   QQuickView view;
   view.setSource(QUrl(QStringLiteral("qrc:/Login.qml")));
   view.show();
   return app.exec();

应用程序 GUI 保持打开状态约 1 秒钟然后消失,应用程序仍然运行但没有 GUI,没有错误消息显示或任何东西。

这是 QML:

import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1

Rectangle {
    anchors.centerIn: parent
    Layout.minimumWidth: 360
    Layout.minimumHeight: 360
    Layout.preferredWidth: 480
    Layout.preferredHeight: 640
    Column {
        anchors.centerIn: parent
        spacing: 16
        Row {
            spacing: 4
            MediumText { text: "Username:" }
            TextField { placeholderText: "username"; Layout.fillWidth: true }
        }
        Row {
            spacing: 4
            MediumText { text: "Password:" }
            TextField { placeholderText: "password"; echoMode: TextInput.Password; Layout.fillWidth: true }
        }
        Row {
            spacing: 16
            anchors.horizontalCenter: parent.horizontalCenter
            Button { text: "Login"; onClicked: console.log("login") }
            Button { text: "Exit"; onClicked: console.log("guest") }
        }
    }
}

有趣的是,如果我删除根矩形上的“anchors.centerIn:parent”,它可以正常工作,但不会使内容居中。

有谁知道是什么问题?

4

1 回答 1

0

我添加了以下行:

view.setResizeMode(QQuickView::SizeRootObjectToView);

它解决了这个问题。

于 2015-06-12T01:58:40.827 回答