第二种也是权宜之计
子线程里去操作主进程的UI本来就是限制的
现在至少能显示当前在干什么,只是无法显示进度
第一种代码是这样
void SaveDeviceThread::run()
{
SaveNowInfo(L"Save List", L"Save " + name, 10/*进度*/, 1);
mutex.lock();
//保存文件
//.........
mutex.unlock();
index += skip;
SaveNowInfo(L"Save List", L"Save " + name, , 10 /*进度*/, 0);
}
void SaveDeviceThread::SaveNowInfo( wstring saveObject, wstring saveContent, int nProgress, int nStatue )
{
emit SendSaveInfo(saveObject, saveContent, nProgress, nStatue);
}
我在除run以外的函数里调用SaveNowInfo,都是可以把signal发出去的~~,惟独在run里不行