我有一个QMainWindow课程。
class MainWindow: public QMainWindow
{
Q_OBJECT
...
public:
void insertVector();
...
};
我有类SqlStorage来使用Data Base进行操作。
class SqlStorage : public QObject {
Q_OBJECT
...
public:
static void loadSQL();
...
};
在insertVector()方法中,我尝试在DB中异步写入。
void MainWindow::insertVector()
{
SqlStorage* _sqlStorage = new SqlStorage;
QFuture<void> future = QtConcurrent::run(_sqlStorage, &SqlStorage::loadSQL);
}
但是当我尝试编译时,我有错误:&#34;术语不会评估为带有1个参数的函数&#34;。
我的问题在哪里?
答案 0 :(得分:4)
如果要使用QtConcurrent::run
调用静态成员函数,则执行此操作的方法与调用常规非成员函数的方式相同。唯一的区别是你在其中包含了类范围。像这样:
QFuture<void> future = QtConcurrent::run(SqlStorage::loadSQL);