7、Qt5开发及实列(笔记)

文章目录

  • [第二章 Qt5模板库、工具类及控件](#第二章 Qt5模板库、工具类及控件)
    • [2.2 容器类](#2.2 容器类)
      • [2.2.1 QList类](#2.2.1 QList类)
    • [# 2.3 QVariant类](# 2.3 QVariant类)
  • [#2.4 算法及正则表达式](#2.4 算法及正则表达式)

第二章 Qt5模板库、工具类及控件

2.2 容器类

2.2.1 QList类

c 复制代码
   //2.2容器类 - QList类
   QList<QString> list;//声明了一个QList<QString>栈对象
   {
       QString str("this is a test string");
       list <<str;//通过<<将QString 字符串存储在该列表中
   }//花括号为作用域
   qDebug()<<list[0]<<"how are you";

# 2.3 QVariant类

c 复制代码
   //2.3 QVariant类 类似于联合体
   QVariant v(709);//声明一个QVariant变量v,初始化为一个整数
   qDebug()<<v.toInt();//QVariant变量的内容转换为整型输出

   QVariant w("How are you! ");//声明一个QVariant变量w,并初始化为一个字符串
   qDebug()<<w.toString();

   QMap<QString,QVariant>map;//声明一个QMap变量map,使用字符串作为键,QVariant变量作为值
   map["int"]=709;
   map["double"]=709.709;
   map["string"]="How are you! ";
   map["color"]=QColor(255,0,0);
   qDebug()<<map["int"]<< map["int"].toInt();
   qDebug()<<map["double"]<< map["double"].toDouble();
   qDebug()<<map["string"]<< map["string"].toString();
   qDebug()<<map["color"]<< map["color"].value<QColor>();
   QStringList sl;//创建一个字符串列表
   sl<<"A"<<"B"<<"C"<<"D";
   QVariant slv(sl);//将该列表保存在一个QVariant变量中
   if(slv.type()==QVariant::StringList)
   {
       QStringList list=slv.toStringList();
       for(int i=0;i<list.size();++i)
           qDebug()<<list.at(i);
   }

#2.4 算法及正则表达式

cpp 复制代码
 //Qt5常用算法 Qt的<QtAlgorithms>、<QtGlobal>,调用<QDebug>即可
   double a = -13.3,b=9.7;
   double c = qAbs(a);//取绝对值
   double max = qMax(b,c);//取最大值

   int bn=qRound(b);//四舍五入取整数
   int cn=qRound(c);

   qDebug()<<"a="<<a;
   qDebug()<<"b="<<b;
   qDebug()<<"c = qAbs(a)"<<c;
   qDebug()<<"bn=qRound(b)"<<bn;
   qDebug()<<"cn=qRound(c)"<<cn;

   qSwap(bn,cn);//交换两数的值
   qDebug()<<"qSwap(bn,cn):"<<"bn="<<bn<<"cn"<<cn;

2.5控件

相关推荐
一条破秋裤几秒前
01_字符设备基本概念_从分类到LED控制链路
开发语言·php
Ruannn(努力版)7 分钟前
Patient/public-facing dashboards-prototype dashboard display
笔记
朝朝辞暮i7 分钟前
C++ 第 40 章:ROS2 Publisher + Timer + Subscriber + Callback + Executor 完整闭环
开发语言·c++·算法·ros2
专注仿真18 分钟前
决策树的算法
开发语言·高性能算法
Evand J19 分钟前
【电机滤波例程2】负载转矩增广扩展卡尔曼滤波(EKF)原理与MATLAB例程:五维PMSM状态与负载阶跃估计。订阅专栏后可查看完整代码
开发语言·matlab·电机·ekf·卡尔曼滤波
清水白石00827 分钟前
Python 对象模型深度解析:从“一切皆对象”到 id、type、isinstance 底层机制与小整数缓存原理
开发语言·python·缓存
燕落南枝32 分钟前
c语言 洛谷P1765手机题解
c语言·开发语言
Rosanci33 分钟前
Codex 下载与本地部署实战:从安装到运行全流程指南
开发语言·前端·算法·chatgpt·codex
zhangzeyuaaa38 分钟前
深入 Ruby:Block、Proc、Lambda 核心区别与最佳实践
开发语言·前端·ruby
蜗牛互联网41 分钟前
Java 17调用Embeddings API:余弦相似度与FAQ拒答阈值
java·开发语言·人工智能