在学qml,直接上手Qt6.2,想在一个窗口里调用另一个窗口,运行时提示"Xxxx is not a type",在Qt5.15上做没遇到这个问题,在Qt6.2遇到,记录一下。
这里从工程创建开始介绍,遇到运行时提示"Xxxx is not a type",想省时间的同学,直接看第17步。
1.新建一个Qt Quick工程
2.工程名和工程存储路径
3.感觉Cmake比较复杂,先上手qmake吧
4.qt6.2
5.MinGw
7.完成创建Project
8. Qt6.2的初始工程目录和Qt5略有不同
9.新建一个qml
10.输入qml名字,注意首字母大写。
11.完成
12.OtherWondow.qml源码
import QtQuick 2.0
Window {
id: root
visible: false
Text {
id: _tx
text: qsTr("dfafafa")
}
}
15.main.qml源码
import QtQuick
import QtQuick.Controls 2.0
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
Button {
text: "OK"
onClicked: {
othw.show()
}
}
OtherWindow {
width: 110
height: 200
id : othw
}
}
16.构建不会报错,运行时会提示没有这个类型
17.修改.pro 把新添加的qml写入如下位置。
18.运行,点击OK,弹出小窗口。