1、单例模式
报错如下:
QQmlApplicationEngine failed to load component
qrc:/main.qml:4 unexpected token
file::/fonts/qmldir:3 invalid qmldir directive contains too many tokens
file::/fonts/qmldir:4 a component declaration requires two or three arguments, but 4 were provided
QML debugging is enabled. Only use this in a safe environment.
原因:我在qmldir文件中加了注释。在qmldir文件中的注释,如 //... 是无效的,都会当作文件的内容被识别,会导致整个qmldir文件失效。
2、文件引用
关于调用qmldir文件:
在不同级目录下的文件引用,不同级的仅需调用qmldir所在文件夹即可
// main.qml
import "qrc:///fonts/"
import "qrc:/fonts/"
在同级目录下的文件引用
import "."
3、ExclusiveGroup的头文件引用
import QtQuick.Controls 1.4
Item{
ExclusiveGroup { id: group }
}
4、Grid和GridLayout
// 这个row能起作用,全部堆叠在1行
Grid {
id: grid
columns: 3
rows: 1 // 只要1行
Text { text: "Three"; font.bold: true; }
Text { text: "words"; color: "red" }
Text { text: "in"; font.underline: true }
Text { text: "a"; font.pixelSize: 20 }
Text { text: "row"; font.strikeout: true }
}
// 这个row不起作用,还是会分成2行
GridLayout {
id: grid
columns: 3
rows: 1 // 虽然只要1行,但是一行三列只能排前3个Text,所以会自动变成2行
Text { text: "Three"; font.bold: true; }
Text { text: "words"; color: "red" }
Text { text: "in"; font.underline: true }
Text { text: "a"; font.pixelSize: 20 }
Text { text: "row"; font.strikeout: true }
}
5、没有在QtCreator中删除文件,再次运行后删除的文件又跑出来了
解决方案:1、在外部文件夹删除文件;2、删除 *.pro.user。以上,应该能解决了。
6、QT发布debug文件夹下的exe可执行文件
step1:运行Qt 5.15.2 (MinGW 8.1.0 64-bit).exe
step2:输入cd 文件夹路径
step3:windeployqt 可执行程序文件名 -qmldir main.qml工程路径
D:\Qt\5.15.2\mingw81_64>cd D:\Qt\Examples\Qt-5.15.2\demos\build-calqlatr-Desktop_Qt_5_15_2_MinGW_64_bit-Debug\debug
D:\Qt\Examples\Qt-5.15.2\demos\build-calqlatr-Desktop_Qt_5_15_2_MinGW_64_bit-Debug\debug>windeployqt calqlatr.exe -qmldir D:\Qt\Examples\Qt-5.15.2\demos\calqlatr