-1

我有一个 qml 文件,如下所示(由V-Play创建):

import VPlayApps 1.0
import QtQuick 2.0

App {
    // You get free licenseKeys from https://v-play.net/licenseKey
    // With a licenseKey you can:
    //  * Publish your games & apps for the app stores
    //  * Remove the V-Play Splash Screen or set a custom one (available with the Pro Licenses)
    //  * Add plugins to monetize, analyze & improve your apps (available with the Pro Licenses)
    //licenseKey: "<generate one from https://v-play.net/licenseKey>"

    NavigationStack {

        Page {
            title: qsTr("My page")

        }

        AppTextField {
            id: appTextField
            x: 0
            y: 329
            width: 256
            height: 19
            anchors.centerIn: parent
        }

        AppTextField {
            id: appTextField1
            x: 0
            y: 329
            width: 256
            height: 19
            anchors.verticalCenterOffset: 50
            anchors.centerIn: parent
        }

        Text {
            id: text1
            x: 0
            y: 620
            width: 24
            height: 20
            text: qsTr("A")
            font.pixelSize: 25
            anchors.horizontalCenter: appTextField1.horizontalCenter
        }

        AppButton {
            id: button
            x: 0
            y: 575
            width: 24
            height: 20
            text: qsTr("Click me please!")
            anchors.horizontalCenter: appTextField1.horizontalCenter
        }
    }
}

我通过 Qt Designer 创建了许多 PyQt5 应用程序,因此它是一个 .ui 文件,我可以通过 轻松将其转换为 python 文件pyuic5,但这是我第一次使用 V-Play Qt Creator。

所以现在我的问题是:

如何将其转换为 python 文件 (.py),正如您在创建两个输入区域 ( AppTextField) 的代码中看到的那样,我希望它成为一个 python 文件,以便我可以添加将数字相加的函数输入区域,我尝试了一些东西,但都没有奏效,我查看了这个,在 Qt Creator 中开发 Python 应用程序等,但它们没有达到我的目标。

我该怎么做呢?

4

1 回答 1

1

QML 由 Qt 解释以生成图形项。我认为您不能将 QML 转换为 Python。

但是,您可以轻松地将此文件集成到 python 脚本中:http: //pyqt.sourceforge.net/Docs/PyQt5/qml.html

app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.load(QUrl('./main.qml'))
app.exec_()
于 2019-02-20T08:51:49.427 回答