QSetting、带颜色的打印、lambda函数、内联函数、json格式读取、解决中文乱码

QSetting注册表的使用

规范:在main函数中定义
QCoreApplication::setOrganizationName(“组织名”);
QCoreApplication::setOrganizationDomain(“组织域名”);
QCoreApplication::setApplicationName(“项目名”);
settings.setValue(键名, 键值);
前面三个确定在注册表的位置,后面那个在注册表对应位置加入键和值

在应用窗口、程序输出窗口打印带颜色的输出结果

程序输出窗口:qDebug("\033[41m<font color="#FF0000">我是红色的");
//打印时改变41的值,字体颜色改变
在应用窗口显示有颜色文字:<font color="#FF0000">我是红色的

lambda函数的好处:

信号槽写在一起,省去参数调用的跳转,[]中参数是用来捕捉父作用域的变量、指针
connect(对象,信号,[&](信号带的参数){
槽函数
});

内联函数:

//内联函数执行速度却比一般函数的执行速度要快,可以写在类体内或者类体外
内联函数会在编译的时候在调用函数的地方直接替换函数体,当函数体比较小的时候替换的开销比调用函数的开销小,所以一般在调用比较多,且函数体比较小的地方用
定义方法:
inline 返回值类型 函数名() const { return 返回值; }
inline 类名::返回值类型 函数名() const { return 返回值; }

QVariantHash类

类型是<QString,QVariant>
用法:
QVariantHash aaa
插入一条值:
aaa.insert(“键名”,键值)
获取键值:
aaa[“键名”].toInt()/toString()/toDouble
不知道键名是否存在:
if(aaa.contains(“键名”))
aaa.value(“键名”)
获取json格式数据:

QJsonParseError json_error;
QFile file(“文件路径”);
file.open(QIODevice: :ReadOnly | QIODevice: :Text);
QString allData= file.readAll();//QByteArray value ;
QJsonDocument jsonDocument = QJsonDocument::fromJson(allData, &json_error);
QJsonObject jsonObject = jsonDocument.object();
QHash hashame;//数据类型为<键名,键值>
hashame= jsonObject.toVariantHash();

遇到问题:
报错: warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决:在pro文件中加入
msvc {
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值