我在Mac-book上使用Qt 5.5.0和Qt Creator 3.4.2,我想在按钮点击时打开第二个qml,我想开发登录页面来的应用程序,登录控制后移到下一页。< / p>
我尝试堆栈溢出的建议,但是我仍然遇到按钮点击打开下一个qml的问题。
我试过
button2.onClicked:{
var component = Qt.createComponent("test.qml")
var window = component.createObject(root)
window.show()
}
How can I create a new window from within QML?
大写错误与root相关,ReferenceError:root未定义。我在test.qml文件中给了root id。
我还尝试了更多的例子来解决开发功能。请提供简要的想法或代码来开发此功能。
答案 0 :(得分:2)
以下代码有效,请注意属性status
和函数errorString()
- 它们将为您提供调试信息(.eg“找不到文件”错误,组件未准备好等)
有关背景,请参阅以下页面:
Dynamic QML Object Creation from JavaScript
Component QML Type
Window QML Type
function createWindows() {
var component = Qt.createComponent("Child.qml");
console.log("Component Status:", component.status, component.errorString());
var window = component.createObject(root, {"x": 100, "y": 300});
window.show();
}
答案 1 :(得分:0)
对于这种类型的ui,我使用$("form input[type=submit]").click(function() {
//console.log($(this).val());
if($(this).val()!=="ADD"){
$('form input[type=text]').each(function() {
$(this).removeAttr("required");
});
}
$("input[type=submit]", $(this).parents("form")).removeAttr("clicked");
$(this).attr("clicked", "true");
});
组件,它也允许转换之间的动画。其他解决方案是使用Loader组件。