QT线程使用
1.写一个继承QThread的类。
2.写一个Qobject类,moveToThread。
moveToThread的方法
个人认为这种方法比较快捷、易理解。
1.创建对象类
1.设定信号以及对应的槽函数,下面是我的头文件.h。
```cpp
class save_imgThread : public QObject
{
Q_OBJECT
public:
save_imgThread();
~save_imgThread();
public:
signals:
void isDone();
void sendValue(double v);
private:
bool pause_status;
public slots:
void save_image(QString batchPath, QString batchPath_save, int width, int height, int index);
void select_image(QStringList str_path_list, QString srcDirPath, int width, int height, int select);
};
``
2.使用connect选择合适的位置连接信号与槽函数。
connect(this,SIGNAL(batch_process(QString, QString, int, int, int)), save_img, SLOT(save_image(QString, QString, int, int, int)));
connect(this, SIGNAL(select_process(QStringList, QString, int, int, int)), save_img, SLOT(select_image(QStringList, QString, int, int, int)));
2.在主函数头文件添加信号。
signals:
void batch_process(QString batchPath, QString batchPath_save, int width, int height, int index);
void select_process