其实我要实现的功能很简单的 就是用户点击copy按键后把图片复制到U盘
但是不能影响用户其他操作
我在main函数开启一个多线程 专门负责拷贝工作
用户按键后把标志位改为1
代码如下:帮我看下 谢谢了
CopyThread.h:
****************************************************
#include <qthread.h>
#include <GlobalVariable.h>
class MyThread : public QThread {
public:
virtual void run();
};
void MyThread::run()
{
char tempS[100];
QString strTemp;
while(1)
{
if(1==CopySign)
{
cout<<"copy images ..."<<endl;
sprintf(tempS,"cp -r /tmp/hardfile/5/usb/* /tmp/usb/");
system(tempS);
system("sync");
strTemp = "umount /tmp/usb";
system(strTemp.data());
cout<<"copy over ..."<<endl;
mainWin18->ShowTimer();
// QMessageBox::warning( mainWin10, "USB", "\n The images is copy over ,you can move udisk ! \n","OK", 0) ;
CopySign=0;
}
}
}
**************************************************************
Copyover.ui.h:
#include <GlobalVariable.h>
void Copyover::Show()
{
cout<<"void Copyover::Show()"<<endl;
if(mainWin18 != NULL)
{
delete mainWin18;
mainWin18 = NULL;
}
mainWin18= new Copyover;
mainWin18->move(352, -52);
mainWin18->show();
}
void Copyover::ShowTimer()
{
cout<<"Copyover::ShowTimer"<<endl;
QTimer::singleShot( 0, this, SLOT(Show()) ); //clicked
}
现在程序运行到mainWin18->ShowTimer();就死机了
单触发定时器 我在程序中其他地方都用过 没什么问题的 这里不知道为什么不行了
其实简单点用messagebox就可以了 ,但是messagebox弹出来后不能点击 不知道怎么自动消失?