成都创新互联网站制作重庆分公司

qt中的c语言函数 qt 函数

qt 循环函数有哪些?像c语言的for while类似的那种?

Qt是一个使用C++开发的界面框架,可以直接使用C++的循环语句,比如for、while等。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的桐城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

Qt同时提供了一个foreach语句用于扩充C++的循环。你完全可以使用for和while实现foreach的功能,不过foreach能够更加简便一些。

foreach(variables ,container)关键字是Qt对c++的一个扩展,主要用于按顺序历经容器(container)中的对象,例如:

QLinkListQString list;

QString str;

foreach(str , list) {

qDebug()str;

}

这样就可以历经list里存储的对象了,它的作用相当于标准C++中的iterator

QLinkListQString list;

QLinkListIteratorQString i(list);

while(i.hasNext()) {

qDebug()i.next();

}

具体内容你可以查看Qt的帮助文档来学习,Qt的帮助文档写的非常详细,而且附带有大量示例代码。

请大虾们解答一下,在QT中我能使用c语言的printf函数吗?如何使用?谢谢

能使用是能使用,但是我在使用的时候很奇怪,在程序运行完成之后才把所有printf的语句打印出来。一般在qt中都使用qDebug。

如何在QT中实现C语言中调用C++的函数

C source file的实现。

#include "obj.h"

int main(const int argc, const char **argv){

void *temp_obj = getObj(100);

printString(temp_obj);//实现C语言调用QT/C++UI界面

return (0);

}

写一个C++ source file和c source file都可以共同包含的头文件,如下所示。

#include stdint.h

#ifdef __cplusplus

class Obj{

public:

Obj(int32_t a=50)

~Obj();

std::string toString();

private:

int32_t k;

};

#endif

#ifdef __cplusplus

extern "C" {

#endif

void* getObj(int32_t a);

void destroyObj(void *obj);

void printString(void *obj);

#ifdef __cplusplus

}

#endif

C++ source file的实现,其中C语言函数是供C source file调用的。

#include iostream

#include sstream

#include iomanip

#include stdint.h

#include "obj.h"

Obj::Obj(int32_t a){

k = a 1;

}

Obj::~Obj(){

/* don't really need to do anything here */

/* k = 0 only for example purposes */

k = 0;

}

std::string Obj::toString(){

std::ostringstream os;

os "Obj is currently: " this-k std::endl;

return os.str();

}

void* getObj(int32_t a){

Obj *out = new Obj(a);

return ((void*)out);

}

void destroyObj(void* obj){

delete (((Foo*)obj));

}

void printString(void *obj){

std::string s = ((Obj*)obj)-toString();

std::cout s;

}

Makefile

make file的实现。

CC ?= gcc

CXX ?= g++

CFLAGS = -O0 -g

CXXFLGS = -00 -g

OBJ = main obj

OBJS = $(addsuffix .o,$(OBJ))

all:

make compile

compile:

make $(OBJS)

make objexe

fooexe: $(OBJS)

$(CXX) -o fooexe $(OBJS)

main.o: main.c

$(CC) -c -o main.o main.c

obj.o: obj.cpp

$(CXX) -c -o obj.o obj.cpp

clean:

rm -rf $(OBJS) objexe *.dSYM

如何在QT中写C函数?

如果你实在想用qt又要用c/c++标准库,那么 qt for vs 倒是一个不错的选择,可惜貌似你在Linux使用的。程序编译出错,很有可能是因为找不到你用到某些函数的头/库文件。

不过你既然都用到qt了,建议还是用qt提供的一整套机制来实现你的程序,对于你问题中提到的需求,可以有下面的解决方式:

用QDir类可以实现对所有目录/文件的遍历操作,

用QFile/QTextStream可以实现对文件读写的操作等。

qt提供的接口都很友好,你稍微看一下qt的帮助文档就知道应该怎么用了。不过如果你是想把一个C语言做的项目用qt重做的话,那就当我什么都没有说了~

qt中c语言函数发送qt信号

这跟函数没关系,qt中发送信号用emit 信号 就可以了,例如我定义了一个信号为void test();那么我想触发此信号只需要执行emit test();就可以了。


当前题目:qt中的c语言函数 qt 函数
网页网址:http://cxhlcq.cn/article/doojoee.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部