C++ / Qt
程序小馆
CSDN 的广告真多~
展开
-
unsigned char 转 QString 方法
一行代码实现 unsigned char 转 QString原创 2022-06-08 14:24:44 · 3260 阅读 · 0 评论 -
C++ 实现跨平台的不区分大小写字符串比较
实现代码#ifdef __LINUX__#include <strings.h>#endif#include <string.h>using namespace std;#ifdef __LINUX__ #define strSame(a, b) (strcasecmp(a, b) == 0)#else #define strSame(a, b) (stricmp(a, b) == 0)#endifc使用方法:strSame("AAa", "原创 2022-04-30 02:18:21 · 1436 阅读 · 0 评论 -
QBitArray 和 QByteArray 互相转换
QByteArray 转换为 QBitArray// QByteArray 转换为 QBitArraystatic QBitArray bytesToBits(const QByteArray &bytes){ QBitArray bits(bytes.count() * 8); for (int i = 0; i < bytes.count(); ++i) for (int b = 0; b < 8; ++b) bits.s转载 2022-04-13 14:33:18 · 1761 阅读 · 2 评论 -
QByteArray 显示为 HEX 形式并在中间添加空格
QByteArray arr;arr.append(0x01);arr.append(0x02);arr.append(0x03);arr.append(0x04);qDebug() << arr.toHex(' ').toUpper();输出效果:原创 2022-03-24 10:47:55 · 2735 阅读 · 1 评论 -
一行代码实现前后颠倒 QByteArray 中的内容
有时候需要将 QByteArray 容器中的内容进行倒置,用一行代码即可实现:std::reverse(arr.begin(), arr.end());示例代码QByteArray arr;arr.append(0x01);arr.append(0x02);arr.append(0x03);arr.append(0x04);qDebug() << "倒置前:" << arr.toHex(); // 01020304std::reverse(arr.begin()原创 2022-03-23 17:07:00 · 2648 阅读 · 0 评论 -
QTreeWidget 遍历其中的一个 QTreeWidgetItem
如果只是单纯的遍历 QTreeWidget,可以直接使用 QTreeWidgetItemIterator 迭代器实现:QTreeWidgetItemIterator it(treeWidget);while (*it) { qDebug() << (*it)->text(0); ++it;}QTreeWidgetItemIterator 在构造时支持传入 QTreeWidget 和 QTreeWidgetItem。然后在传入 QTreeWidgetIte原创 2022-02-22 15:42:44 · 3084 阅读 · 0 评论 -
OpenCascade 实现模型的缩放、平移、旋转
在 Open Cascade 中如果想对某个模型进行调整,如移动、旋转、缩放,可以使用自带的模型操纵器(AIS_Manipulator)组件。代码示例第一步:创建模型操纵器// 先创建一个长方体gp_Ax2 boxPos;boxPos.SetLocation(gp_Pnt(10.0, 10.0, 10.0));TopoDS_Shape boxShape = BRepPrimAPI_MakeBox(boxPos, 15, 20, 30).Shape();Handle(AIS_Shape) ais原创 2021-10-26 11:09:54 · 3732 阅读 · 13 评论 -
OpenCascade 显示中文 & 解决乱码问题
直接上代码gp_Pnt gPnt(100.0, 100.0, 100.0);TCollection_ExtendedString extStr;Resource_Unicode::ConvertGBKToUnicode(QString("AAaa 你好 OpenCascade 1234").toLocal8Bit(), extStr);Handle(AIS_TextLabel) aPntLabel = new AIS_TextLabel();aPntLabel->SetText(extS.原创 2021-10-25 16:47:54 · 893 阅读 · 1 评论 -
一行代码实现 QListWidget 拖拽排序
ui->listWidget->setDragDropMode(QAbstractItemView::InternalMove);(完)原创 2021-08-07 14:52:48 · 1245 阅读 · 1 评论