继承QWSScreenSaver类实现了屏保效果。但是会出现 屏保启动不了的时候。比如:第一次启动-->手动触发-->屏保启动(有的时候是启动不了的)。启动代码:
QWSServer::setScreenSaver(new io_control);
QWSServer::setScreenSaverInterval(30000); //设置屏保间隔 gz
QWSServer::setScreenSaverBlockLevel( 1 ); //设置阻塞 gz
虚函数实现:
bool io_control::save(int level)
{
io_control::write(LCD_LIGHT,LCD_LIGHT_OFF);
qDebug()<<"io_control.cpp 124 save()********************************************\n";
return true;
}
void io_control::restore()
{
io_control::write(LCD_LIGHT,LCD_LIGHT_ON); // 开
qDebug()<<"io_control.cpp 132 restore()********************************************\n";
}
好像是系统没有调用 save(int level),再次点击的时候会执行 restore()函数
通过调试发现:用力点击屏幕会执行restore函数点亮屏幕,否则不会执行restore函数,但是屏幕也亮了!不明白怎么回事。另外只要是通过restore函数点亮屏幕的系统就会执行save函数熄灭。
高手指点什么原因,在线等待~~~~~~~~~急急急急~~~~~~~~~