C++/Qt 小知识记录2

news2025/2/26 9:34:52

工作中遇到的一些小问题,总结的小知识记录:C++/Qt

小知识

  • RGBA/ARGB转16进制颜色
  • int与RGB互转
  • int转Hex值
  • VS2015代码粗略统计
  • QTableWidget设置
    • 列宽设置
    • 整行选中
    • Item设置可选中但不可编辑
  • C++ std路径相关操作
    • 文件写出
    • 绝对路径转为相对路径
    • 字符替换
  • 打印出GBK的平方米/立方米符号

RGBA/ARGB转16进制颜色

使用QColor支持

// ARGB转Hex
QColor c;
c.setRed(color0.GetRed());
c.setGreen(color0.GetGreen());
c.setBlue(color0.GetBlue());
std::string strHexColor = c.name(QColor::HexArgb).toStdString();
//同理Hex转ARGB
QColor c(strHex);

int与RGB互转

//int 转换成 QColor
int red = nRGB >> 16 & 255;
int green = nRGB >> 8 & 255;
int blue = nRGB & 255;
QColor color = QColor(red, green, blue);
// QColor转换成int
int nRGB = ((0xFF << 24) | (color.red() << 16) | (color.green() << 8) | color.blue());

int转Hex值

使用QString支持

 QString strHex = QString::number(255, 16); // "FF"
//同理转回int
QString str = "FF";
bool ok;
int hex = str.toInt(&ok, 16); // hex == 255, ok == true

VS2015代码粗略统计

b*[^:b#/]+.*$

a. 编辑-查找和替换-选中“在文件中查找”弹出一个查找框;
b. 输入正则表达式 b*[^:b#/]+.*$;
选择查找整个解决方案,查找选项选择使用正则表达式,查找全部,最后就会统计出一共有几行。

QTableWidget设置

列宽设置

// 列宽自适应
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

在这里插入图片描述

// 最后一列自适应拉伸
ui->tableWidget->horizontalHeader()->setStretchLastSection(true);

在这里插入图片描述

// 自定义列宽
ui->tableWidget->setColumnWidth(0, 30);
ui->tableWidget->setColumnWidth(1, 50);
ui->tableWidget->setColumnWidth(2, 150);
ui->tableWidget->setColumnWidth(3, 150);
ui->tableWidget->setColumnWidth(4, 120);
ui->tableWidget->setColumnWidth(5, 50);

整行选中

//整行选中的方式
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 
//只选中一行
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);

Item设置可选中但不可编辑

pItem->setFlags(pItem->flags() & ~Qt::ItemIsEditable);

C++ std路径相关操作

文件写出

// 文件写出
std::ofstream outfile("upload.txt", std::ios::out);
outfile.write(pBuffer, nLen);
outfile.close();

绝对路径转为相对路径

std::string strRootDir = "D:/Developer/Project/Document";
std::string strFilePath = "D:/Developer/Project/Document/xx.json";

if (strFilePath.find_first_of(strRootDir) >=0)
{
	strFilePath = "./" + strFilePath.substr(strRootDir.size() + 1, strFilePath.size() - 1);
}
// --> ./xx.json

字符替换

std::replace(strFileName.begin(), strFileName.end(), '\\', '/');

打印出GBK的平方米/立方米符号

QString GetSquareMeterString(char nSquare)
{
	char16_t square = 0xB2; // 平方米
	if (nSquare == 3)
	{
		square = 0xB3; // 立方米
	}
	return "m" + QString::fromUtf16(&square, 1);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OAuth 2.0(四):手把手带你写代码接入 OAuth 2.0 授权服务

一、业务背景 近期团队帮银行做了一个互动营销活动&#xff0c;活动入口在行方的 App 上&#xff0c;当用户在行方 App 点击活动 banner 页跳转活动的时候参与。 在进活动之前作为业务方自然需要知道参与活动的人是谁&#xff0c;如何给它构建登录态。 这就是为什么橘长这边需…

Node.js--》详解express中的身份认证

目录 Web开发模式 身份认证 Session认证机制 在Express中使用Session认证 JWT认证机制 在Express中使用JWT Web开发模式 目前主流的Web开发模式有两种&#xff1a; 基于服务端渲染的传统Web开发模式 服务端渲染的概念&#xff1a;服务器发送给客户端的HTML页面&#x…

【JavaEE】进入Web开发的世界-CSS

目录 一、CSS的基本规则 二、HTML中如何引入CSS规则&#xff08;html资源如何和css资源产生联系&#xff09; 三、选择器&#xff08;selector&#xff09;规则 3.1各种选择器 3.2普通选择器使用 3.3选择器之间的优先级规则(即覆盖规则) 3.4进一步的选择器规则 3.5伪类…

测试必会 Docker 实战(一):掌握高频命令,夯实内功基础

在 Dokcer 横空出世之前&#xff0c;应用打包一直是大部分研发团队的痛点。在工作中&#xff0c;面对多种服务&#xff0c;多个服务器&#xff0c;以及多种环境&#xff0c;如果还继续用传统的方式打包部署&#xff0c;会浪费大量时间精力。在 Docker 出现后&#xff0c;它以更…

Java设计模式-外观模式Facade

介绍 外观模式&#xff08;Facade&#xff09;&#xff0c;也叫“过程模式&#xff1a;外观模式为子系统中的一组接口提供一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用外观模式通过定义一个一致的接口&#xff0c;用以…

回溯法--n皇后问题

回溯法有两个模板--子集树、排列树&#xff0c;他们有回溯法的共同特点&#xff1a;深度优先搜索&#xff0c;如果一条路走不通&#xff0c;再退回来&#xff08;类似递归&#xff09;问题描述八皇后问题的历史八皇后问题最早是由国际象棋棋手马克斯贝瑟尔&#xff08;Max Bezz…

常用的字符串与内存操作函数(2)

Tips 1. 2. strerror() 1. C语言的库函数在运行的时候&#xff0c;如果发生错误&#xff0c;就会将错误码存在一个变量里面。这个变量就是&#xff1a;errno&#xff08;全局变量&#xff09;。 2. 这个函数的功能在于把错误码转化为对应的错误信息&#xff0c;错误信息…

macOS 13.2 开发者预览版 Beta2(22D5038i)发布

黑果魏叔 1 月 11 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.2 开发者预览版 Beta 2 更新&#xff08;内部版本号&#xff1a;22D5038i&#xff09;&#xff0c;本次更新距离上次发布隔了 27 天。macOS Ventura 带来了台前调度、连续互通相机、FaceTime 通话接…

纯CSS输入区域下划线

使用纯CSS实现文本输入的下划线&#xff0c;简洁有效&#xff0c;实现效果&#xff1a; 实现方式 实现方式也很简单&#xff1a; background: linear-gradient(#999 1px, transparent 0) 0 -1px/100% 2em; 例子代码&#xff1a; <!DOCTYPE html> <html lang"e…

【C语言航路】第十站:指针(三)深刻理解指针运算

目录 一、深刻理解指针和数组 1.一维数组 2、字符数组 &#xff08;1&#xff09;字符变量存放到数组中 &#xff08;2&#xff09;字符串存放到字符数组 &#xff08;3&#xff09; 字符串存放到一个指针中 3.二维数组 二、指针与数组经典笔试题 1.题1 2.题2 3.题3…

MCU-51:单片机之红外遥控(外部中断)

目录一、红外遥控简介二、硬件电路三、基本发送与接收四、NEC码五、代码演示5.1 红外遥控5.2 红外遥控电机调速注意&#xff1a;一定要看一、红外遥控简介 红外发射装置 也就是通常我们说的红外遥控器是由键盘电路、红外编码电路、电源电路和红外发射电路组成。红外发射电路的…

爬虫逆向之字体反爬(一)、镀金的天空-字体反爬-1

题目地址&#xff1a;http://www.glidedsky.com/level/crawler-font-puzzle-1 写一下之前处理过的几个字体反爬实战&#xff0c;也是很常见的一种反爬类型&#xff0c;这是第一篇 先来看一下题目 源码拿到的数字&#xff0c;和实际显示在网页的数字&#xff0c;明显不一样的 …

相见恨晚的 IDEA 使用技巧,能让你的代码飞起来

Live Templates 是什么&#xff0c;听上去感觉挺玄乎的。有的同学用过之后觉得简直太好用了&#xff0c;不能说大大提高了开发效率吧&#xff0c;至少也是小小的提高一下&#xff0c;节省了很多敲重复代码的时间。有的同学用过之后说&#xff1a;没什么用&#xff0c;奇技淫巧罢…

C语言_程序环境和预处理

目录 1. 程序的翻译环境 2. 程序的执行环境 3. C语言程序的翻译链接 4. 预编译过程详解 4.1 预定义符号介绍 4.1.1 __FILE__ //进行编译的源文件 4.1.2 __LINE__//文件当前的行号 4.1.3 __DATE__//文件被编译的日期 4.1.4 __TIME__//文件被编译的时间 4.1.5 __STDC__…

基于python的学生信息管理系统

《学生信息管理系统》程序使用说明在IDLE中运行《学生信息管理系统》即可进入如图1所示的系统主界面。在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时&#xff0c;有两种方法&#xff0c;一种是输入1&#xff0c;另一种是按下键盘上的↑或↓方向键进…

【Javascript】高阶函数,JSON,forEach,map,filter,reduce函数

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录高阶函数箭头函数apply函数JSONfilter函数map函数总结reduce函数find/findIndex函数every/some函…

线缆行业单绞机控制算法(详细图解)

在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。 收放卷行业开环闭环控制算法 PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-CSDN博…

知识难懂到什么程度

爱因斯坦相对论&#xff0c;诺贝尔评委会都看不懂&#xff0c;到底说的是什么1905年&#xff0c;爱因斯坦发布狭义相对论&#xff1b;1916年&#xff0c;发布广义相对论&#xff1b;2年后&#xff0c;英国的汤姆逊教授通过实验验证了广义相对论的正确&#xff0c;同时也把爱因期…

容器适配器中stack queue priority_queue的介绍及模拟实现

文章目录容器适配器的概念deque的介绍及底层结构stack的介绍 stack的模拟实现 queue的介绍 queue的模拟实现 priority_queue的介绍 priority_queue的模拟实现 容器适配器的概念 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验…

清华大佬超全超详细讲解——C++STL看这份教程就够了

2022 年年度编程语言揭榜啦&#xff01;在上个月预想的 C、C、Python 三种候选语言中&#xff0c;C 脱颖而出&#xff0c;成为 TIOBE 2022 年度编程语言的最终获得者&#xff01;新的一波学习热潮要来了。TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标&#xff0c;每月…