查看完整版本: [-- [已解决]请教大家有没有用Qt做过屏保或待机画面的程序? --]

QTCN开发网 -> Qt基础编程 -> [已解决]请教大家有没有用Qt做过屏保或待机画面的程序? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

kingnight 2010-03-04 13:19

[已解决]请教大家有没有用Qt做过屏保或待机画面的程序?

首先我不是很清楚这个的原理,有知道的麻烦详细解释一下!
个人理解,是否可以用定时器查有没有任何事件发生或其他按键等,没有就出个全屏动画、有就退出,麻烦做过的高手给点意见!

已经解决,我的代码发上来,有同样问题的可以参考,小弟才疏学浅,还请高手指点!
没有上传图片,因为比较大!
[attachment=3504]

kingnight 2010-03-04 15:08
大家给点意见呀?是太简单了吗?

banyibanyi 2010-03-04 16:44
我没做过 不过感觉你说的差不多了 定时一到就刷图片什么的呗 当接收到键盘或鼠标事件就退出,但程序好像要一直在后台跑啊
期待你的成果 也教教我  交流一下

九重水 2010-03-04 17:06
楼主思路正确,干吧

kingnight 2010-03-04 17:26
谢谢大家的回复,顺着我的思路我还有点问题,如果有一个控件,在整个屏幕中随机移动的话,就涉及到位置如何确定,我查了一下rand()和srand()等函数,都是一维的,如果设置X 、Y位置的时候,不能根据屏幕宽、高的不同产生不同的随机函数,请教大家有什么办法??

banyibanyi 2010-03-04 17:52
desk = QApplication::desktop();
    int w = desk->width();// 返回桌面宽度
你是指这样吗?

kingnight 2010-03-05 08:43
引用第5楼banyibanyi于2010-03-04 17:52发表的  :
desk = QApplication::desktop();
    int w = desk->width();// 返回桌面宽度
你是指这样吗?


  差不多是这意思!产生的范围只能是正方形范围内,不是矩形!

banyibanyi 2010-03-05 11:45
没明白楼主什么意思  你不是要得到现在的屏幕宽和高吗? 然后通过宽和高产生随机数不是吗

kingnight 2010-03-05 13:04
谢谢大家的建议,我的程序已经完成,当时没搞明白随机函数怎么用,现在ok了!代码会发在一楼!

mightyu 2010-03-18 16:58
有个问题请教
如何查询有没有任何事件发生或其他按键?

mayuanyi853 2010-09-13 15:19
我现在也想用QT做一个屏保程序,运行在ARM平台下linux的,想向你请教请教

sd菜 2010-09-26 12:33
楼主。。。我下载了你给的程序,但是编译的时候报错了:
void ScreenSaver::slotForegroundChange()//move
{
    int moveX=0,moveY=0;
    qsrand((int)time(0));//这里有错误,说是time没有定义啊?怎么回事?
//    moveX=(int)(screenWidthM*qrand()/(screenWidthM+1.0));
//    moveY=(int)(screenHeightM*qrand()/(screenHeightM+1.0));
        moveX=(int)(qrand()%screenWidthM);
        moveY=(int)(qrand()%screenHeightM);
    foreground->move(moveX,moveY);
    qDebug()<<"slotForegroundChange"<<"X"<<moveX<<"Y"<<moveY;
}

liwenxiong 2011-07-07 11:32
多个QT进程的话能用吗

sidy_wang 2011-10-20 11:09
11楼那个问题我也遇到了
才学习,不懂

流氓非流氓 2013-08-18 08:56
我在做一个小程序,涉及到了屏保,是初学者,不太懂,LZ可以QQ交流一下吗?我的QQ 365505424 ,谢谢!!

wxy540689 2017-02-09 16:51
11楼
#include<stdlib.h>


查看完整版本: [-- [已解决]请教大家有没有用Qt做过屏保或待机画面的程序? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled