Qt中使用回调函数
前言
在以前写 js 时,经常使用回调函数,回调函数在某些场景用起来还是挺方便的。
使用场景例如:
1. 有一个 QMap 需要在许多地方遍历他的数据,但是我又不想每个地方都写一次 for;
2. 于是我就想在一个地方写,然后 for 中的执行内容由外部传入;
3. 这是我想到以前写 js 中的回调了,查了下,写了一个 demo
具体思路
思路: 将一个函数名作为参数传递给一个函数
代码实现
void GetCount(int count)
{
int cnt = count*2;
qDebug() << cnt;
}
void forTemplate(void (callback)(int))
{
for(int i = 0; i < 5; i++)
{
callback(i);
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// MainWindow w;
// w.show();
forTemplate(GetCount);
return a.exec();
}