QT踩过的坑,单例模式报错,生成exe文件

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值