QT编程实用大全(8)

2019-08-29 18:29

string str;

ABCLog::log.info(str.c_str());

===========================================

编译出问题:任务管理器中的mingw32-make.exe进程数一直增加 解决方法:请检查系统时间是否有错误

====================================================== 模板内定义的PUBLIC域的类型定义,在其他模块中引用时不认 报错:

..\\..\\public\\tinyjson\\tinyjson.hpp|517|error: expected ?;‘ before ?const‘| 解决:

在引用前加: typename

如: json::grammar::object

改: typename json::grammar::object 这个错误是由于编译升级限制变严格引起的

============================================ string 转 int int errCode;

char s_char[16]; string str;

sprintf(s_char,‖%d‖,errCode); str = s_char; int 转 string

string itemCounts;

stringstream sstr(itemCounts); int i; sstr >> i;

std::string 相连 可以用连接符 += 结构体 转 char*

typedef struct S_FeeItem {

char userFeeId[20]; /**< 用户计费id(唯一值) */ char telNum[20] /**< 收费号码 */ }FeeItem;

FeeItem* feeItemBody; char* feeItem; string value;

for (int i = 0; i < *actualItemCounts; i++ ) {

feeItemBody = new(FeeItem);

value = obj[\strcpy(feeItemBody->userFeeId,value.c_str());

value = obj[\strcpy(feeItemBody->telNum,value.c_str());

memcpy(feeItem+sizeof(FeeItem)*i,(char*)feeItemBody,sizeof(FeeItem)); }

char* 转 结构体

typedef struct S_ReceiptsItem {

char userFeeId[20]; /**< 用户计费id(唯一值) */ char status[20]; /**< 状态 0 成功 其他 错误 */ char errMsg[60]; /**< 错误信息描述 */ }ReceiptsItem;

const int MAX_RECEIPTS = 5; int receiptsCounts = 3;

ReceiptsItem receiptsItem[MAX_RECEIPTS]; char* prcp = (char*)&receiptsItem[0];

memcpy(prcp, receiptsItems, sizeof(ReceiptsItem)*receiptsCounts); for(int i=0; i < receiptsCounts; i++) {

//receiptsItem[i].userFeeId; }

=============================================== 在msys环境下显示中文的写法

std::cout<

process_begin: CreateProcess(NULL, -c ―if exist libmysqlpp_ssqls2parse.a del libmysqlpp_ssqls2parse.a‖, …) failed. make (e=2): 系统找不到指定的文件。

mingw32-make.exe: *** [libmysqlpp_ssqls2parse.a] Error 2 解决:

在Makefile文件中 注释下面一句

#SHELL := $(COMSPEC) 增加:

SHELL=cmd.exe

=========================================================== QString 与 std::string互转

string MainWidget::qString2String(QString str) {

char* str_char = str.toUtf8().data(); string stdStr = str_char; return stdStr;

}

QString MainWidget::string2QString(string str) {

char* str_char = const_cast(str.c_str()); QString qStr = QString::fromUtf8( str_char ); return qStr; }

==================================================== 错误:

PHP Warning: PHP Startup: Unable to load dynamic library

?/usr/local/php5/lib/php/extensions/daemonsession.so‘ – /usr/local/session/lib/libsession.so.1: undefined symbol: _ZTIN5boost7archive17archive_exceptionE in Unknown on line 0 解决:

LINUX在 .pro 文件中加入: -lboost_regex -lboost_serialzation

============================================================ 在msys环境下显示中文的写法

std::cout<

putty

linux上编译server

cd /usr/local/src/tiandi/daemon/server make clean

qmake -makefile make 启动

/etc/rc.d/init.d/daemonsd stop cp ./bin/server /usr/local/daemon/

/etc/rc.d/init.d/daemonsd start 查看进程运行情况

ps -A | grep server

28628 pts/0 00:00:00 server 查看当前所在目录 pwd

================================== QJson的用法:

QVariantMap mainMap;

mainMap.insert(―op_type‖,‖sendSms‖); QVariantList people; QVariantMap data_1; data_1.insert(―sms_id‖, 626);

data_1.insert(―mobile_tel‖, ―13860637885″); QVariantMap data_2; data_2.insert(―sms_id‖, 1000);

data_2.insert(―mobile_tel‖, ―12345653221″); people << data_1 << data_2; mainMap.insert(―data‖,people);

QJson::Serializer serializer;

QByteArray json = serializer.serialize(mainMap); qDebug()<<‖json:‖ << json;

//json: ―{ ―data‖ : [ { \\ //解析

QJson::Parser parser; bool ok;

QVariantMap result = parser.parse (json, &ok).toMap(); if (!ok) {

qDebug()<<‖An error occurred during parsing‖; }

qDebug()<<‖op_type:‖<

qDebug()<<‖sms_id:‖<

======================================================= SuspendableThread 继承自QThread用法 SideBarThread::SideBarThread(QThread *parent) :SuspendableThread(parent) {

isFinishRun = false; suspend();//挂起

gpsInteraction = &createGpsInteraction(); operAct = oaNone;

timeOutTimeId = 0; }

SideBarThread::~SideBarThread() {

delete gpsInteraction; gpsInteraction = 0;

if (timeOutTimeId != 0) {

killTimer(timeOutTimeId); timeOutTimeId = 0; }

isFinishRun = true; resume(); wait(); }

void SideBarThread::run() {

//while (!isFinished())

while (!isFinishRun) {

suspendPoint();//设置挂起点 //suspend //resume if (isFinishRun)break;

if (operAct == oaGsoapLogin) //登录 {

gsoapLogin(); operAct = oaNone; suspend();//挂起

}

if (operAct == oaHistoryRoutesQuery) //历史轨迹查询 {


QT编程实用大全(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015-2016学年河南省洛阳市高一下学期期中考试历史(解析版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: