QML:动态打开一个窗口

 效果:点击按钮载入一个qml文件(一个窗口)

MyButton
{
    text:"动画01"

    onBtnclicked://信号首字母大写
    {
        var component = Qt.createComponent("Animation01.qml");
        var win = component.createObject();
        win.closing.connect(function() { console.log('窗口关闭了') })
        win.show();
    }
}

类似于c++代码:

QWidget * w = new QWidget;
w->show();

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例代码,用于在QML中实现登录并打开窗口: LoginPage.qml: ``` import QtQuick 2.0 import QtQuick.Controls 2.0 Item { id: loginPage property string username: "" property string password: "" Column { TextField { id: usernameField placeholderText: "Username" text: loginPage.username } TextField { id: passwordField placeholderText: "Password" text: loginPage.password echoMode: TextInput.Password } Button { text: "Login" onClicked: { if (usernameField.text === "admin" && passwordField.text === "admin") { mainPage.show() loginPage.visible = false } else { console.log("Invalid username or password") } } } } Rectangle { id: overlay width: parent.width height: parent.height color: "#00000077" visible: !mainPage.visible MouseArea { anchors.fill: parent onClicked: { overlay.visible = false } } } MainPage { id: mainPage visible: false anchors.fill: parent } } ``` MainPage.qml: ``` import QtQuick 2.0 import QtQuick.Controls 2.0 Item { id: mainPage Rectangle { id: content width: parent.width / 2 height: parent.height / 2 color: "#ffffff" anchors.centerIn: parent Text { text: "Welcome!" font.pixelSize: 48 anchors.centerIn: parent } } } ``` 在这个例子中,LoginPage.qml包含一个用于登录的表单,当用户输入正确的用户名和密码时,它会显示MainPage.qml。 MainPage.qml包含一个简单的矩形和欢迎文本,以示成功登录。 要使用这些组件,您可以在您的应用程序中使用以下代码: ``` import QtQuick 2.0 import QtQuick.Controls 2.0 ApplicationWindow { id: mainWindow width: 640 height: 480 visible: true LoginPage { id: loginPage anchors.fill: parent } } ``` 这将在主窗口中创建LoginPage,并将其填充整个窗口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值