首页 > 其他分享 >Qt类型转换合集

Qt类型转换合集

时间:2024-12-15 19:31:44浏览次数:11  
标签:类型转换 Qt void value wstring QString mesServiceClient 合集 target

QString转化为wchar_t*类型

方法1 分配内存

void mesServiceClient::allocate(wchar_t*& target, const QString& value){
    if(value==nullptr){
        target=nullptr;
        return;
    }
    QString temp = value;
    size_t tempLength = temp.size() + 1;
    target = new wchar_t[tempLength];
    wcscpy_s(target, tempLength, temp.toStdWString().c_str());
}
void mesServiceClient::recycle(wchar_t*& target){
    delete[] target;
    target=nullptr;
}

方法2 值传递,用于调用

std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> converter;
QByteArray narrowBytes1 = FrockName.toUtf8();
std::wstring wideStr1 = converter.from_bytes(narrowBytes1.constData());
wchart* aa= const_cast<wchar_t*>(wideStr1.c_str());

wchar_t*转换为QString

QString::fromWCharArray(wchar_t* xx)

wchar_t*给wchar_t*

size_t length = wcslen(webList->checkClass);
checkList->EquipmentCheck[i]->checkClass = new wchar_t[length + 1];
wcscpy_s(checkList->EquipmentCheck[i]->checkClass, length + 1, webList->checkClass);

long转换为LONG64*

void mesServiceClient::allocate(LONG64*& target, const long& value){
    target= new LONG64;
    *target = value;
}
void mesServiceClient::recycle(LONG64*& target){
    delete target;
    target=nullptr;
}

LONG64*转long

前面加*

QDateTime转换为time_t*

void mesServiceClient::allocate(time_t*& target, const QDateTime& value){
    target = new time_t;
    *target = value.toTime_t();
}
void mesServiceClient::recycle2(time_t*& target){
    delete target;
    target=nullptr;
}

time_t*转QDateTime

time_t* aa;
QDateTime::fromSecsSinceEpoch(*aa);

int转换为int *

void mesServiceClient::allocate(int *& target, const int& value){
    target = new int;
    *target = value;
}
void mesServiceClient::recycle(int *& target){
    delete target;
    target=nullptr;
}

int *转换为int

前面加*

bool转换为bool*

void mesServiceClient::allocate(bool *& target, const bool& value){
    target = new bool;
    *target = value;
}
void mesServiceClient::recycle(bool *& target){
    delete target;
    target=nullptr;
}

bool*转换为bool

前面加*

qreal转换为std::wstring *

void mesServiceClient::allocate(std::wstring *& target, const qreal& value){
    target = new std::wstring();
    if (value - static_cast<long long>(value) == 0) {
        // 是整数,按照整数方式转换
        *target = std::to_wstring(static_cast<long long>(value));
    } else {
        // 不是整数,按照浮点数方式转换
        *target = std::to_wstring(value);
    }
}
void mesServiceClient::recycle(std::wstring *& target){
    delete target;
    target=nullptr;
}

std::wstring *转换为qreal

std::wstring *aa
QString::fromStdWString(*aa).toDouble()

short转换为short *

void mesServiceClient::allocate(short *& target, const short& value){
    target = new short;
    *target = value;
}
void mesServiceClient::recycle(short *& target){
    delete target;
    target=nullptr;
}

short *转换为short

前面加*

QString转换为char*

//分配
QString value ;
QByteArray valueByteArray = value.toUtf8();
int valueByteArrayLength = valueByteArray.length();
char *item=new char[valueByteArrayLength+1];
strcpy_s(item, valueByteArrayLength+1, valueByteArray.data());
//回收
delete[] item;
item=nullptr;

char*转换为QString

char* item;
QString Value=QString::fromUtf8(item);

标签:类型转换,Qt,void,value,wstring,QString,mesServiceClient,合集,target
From: https://blog.csdn.net/m0_58053246/article/details/144490493

相关文章

  • Qt之热键盘使用(八)
    Qt开发 系列文章-Hot-keyboard(八)目录前言一、键盘使用二、QKeyEvent按键事件1.使用QShortcut类2.重写keyPressEvent三、QxtGlobalShortcut库四、QHotkey库总结前言Qt实现热键盘/快捷键的使用,比较直接简单的是利用Qt自带的QShortcut类、QKeyEvent类,通过改写相关......
  • PyQt5 使用结合Logging 在 QPlainTextEdit/QTextBrowser 上显示日志信息
    PyQt5使用结合Logging在QPlainTextEdit/QTextBrowser上显示日志信息本文演示PyQt5如何与Python的标准库Logging结合,然后输出日志信息到如:QPlainTextEditQTextBrowser上代码结构本文中全部代码全在test_QPlainTextEdit_Log.py这一个文件中编码,步骤中有变动的地方会注......
  • 2025mysql经典面试题合集!
    1.解释MySQL中的JOIN操作。JOIN操作用于结合两个或多个数据库表的行。类型包括INNERJOIN(只返回两表匹配的行)、LEFTJOIN(返回左表的所有行及右表匹配的行)、RIGHTJOIN(返回右表的所有行及左表匹配的行)等。2.如何优化MySQL查询?优化MySQL查询的方法包括:使用合适的索引、避免......
  • 2025全网最全Redis面试题合集
    1.使用Redis有哪些好处?(1)速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2)支持丰富数据类型,支持string,list,set,sortedset,hash(3)支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4)丰富的......
  • 重磅推荐 | 2024最全的数据资产入表实操资料大合集(8GB,共90份)
    1、《金融数据安全数据安全分级指南》.pdf2、《数据资产合规管理白皮书》(2024).pdf3、《数据要素场景创新发展报告》(2024).pdf4、《数据资产入表财务实操手册》.pdf5、《数据安全技术数据分类分级规则》.pdf6、《数据分类分级产品技术要求》.pdf7、《国家数据局《数字中......
  • Qt | 安全的udp服务器搭建(代码框架值得学习)
    点击上方"蓝字"关注我们01、项目框架>>>02、QHostAddress>>>QHostAddress 是 Qt 网络模块中的一个类,用于表示IP地址。它支持IPv4和IPv6地址,可以用于网络编程中,如建立TCP或UDP连接。QHostAddress 提供了一些方法来处理和转换IP地址03、m......
  • 使用PyTorch框架来训练语义分割模型——航空影像输电线路与输电塔分割数据集,使用U-Net
    航空影像的输电线路与输电塔分割数据集。该数据集包含1234张图像,超高分辨率(约3840×2160)标注了11447个对象,属于5个不同的类别,包括电缆(cable)、铁塔(tower_lattice)、木塔(tower_wooden)以及其他两种类型:混凝土或钢结构混合塔(tower_tucohy)和空白肉眼不可见线缆(void),共3GB好的......
  • M1安装pyqt5,pyqt5-tools,pyqt5designer
    M1安装pyqt5,pyqt5-tools,pyqt5designerpycharm可以安装pyqt5,安装pyqt5-tools,pyqt5designer都失败了。 在终端中输入:1brewinstallqt在这里brew会重新安装一个python,我这里安装的是python3.9.7版本。 按照网上的说法,使用homebrew下载这几个库,下载的python版......
  • Qt网络编程知识体系
    Qt网络编程基础Qt直接提供网络编程模块,基于TCP/IP客户端和服务器相关各种类。TCP通信(QTcpSocket/QTcpServer)。UDP通信(QUdpSocket)。还有部分实现HTTP、FTP等网络协议的高级类。如QNetworkRequest/QNetworkAccessManager等。我们开发过程中,UDP、TCP、HTTP通信类等,必须在程序......
  • Qt从入门到入土(六)-实现炫酷的登录注册界面(1)
    前言本文主要介绍了如何使用Qt从0开始实现一个登录注册界面。以及界面的布局设计和美化,通过本文可以学到很多Qt类和函数的使用。设置无边框窗口实现拖动效果代码this->setWindowFlags(Qt::FramelessWindowHint);//EventFilterObject是自己写的一个类installEventFilter......