/******************************************************************************Formimplementationgeneratedfromreadinguifile'hello.ui'****Created:WedJun2318:02:362004**by:TheUserInterfaceCompiler(uic)****WARNING!Allchangesmadeinthisfilewillbelost!****************************************************************************/#include"hello.h"#include<qtopia/qpeapplication.h>#ifdefQWS#include<qtopia/qcopenvelope_qws.h>#endif#include<qtopia/config.h>#include<qtopia/timestring.h>#include<qtopia/alarmserver.h>#include<qtopia/sound.h>#include<qtopia/resource.h>#include<qlayout.h>#include<qvariant.h>#include<qtooltip.h>#include<qwhatsthis.h>#include<qpushbutton.h>#include<qtimer.h>#include<qpainter.h>#include<qpixmap.h>#include<qwhatsthis.h>/**ConstructsaHellowhichisachildof'parent',withthe*name'name'andwidgetflagssetto'f'*/Hello::Hello(QWidget*parent,constchar*name,WFlagsfl):QWidget(parent,name,fl){if(!name)setName("Hello");resize(240,320);setWFlags(fl|Qt::WStyle_ContextHelp);setMinimumSize(QSize(240,320));setMaximumSize(QSize(240,320));setSizeIncrement(QSize(240,320));setBaseSize(QSize(240,320));QPalettepal;QColorGroupcg;cg.setColor(QColorGroup::Foreground,black);cg.setColor(QColorGroup::Button,QColor(192,192,192));cg.setColor(QColorGroup::Light,white);cg.setColor(QColorGroup::Midlight,QColor(223,223,223));cg.setColor(QColorGroup::Dark,QColor(96,96,96));cg.setColor(QColorGroup::Mid,QColor(128,128,128));cg.setColor(QColorGroup::Text,black);cg.setColor(QColorGroup::BrightText,white);cg.setColor(QColorGroup::ButtonText,black);cg.setColor(QColorGroup::Base,white);cg.setColor(QColorGroup::Background,white);cg.setColor(QColorGroup::Shadow,black);cg.setColor(QColorGroup::Highlight,black);cg.setColor(QColorGroup::HighlightedText,white);pal.setActive(cg);cg.setColor(QColorGroup::Foreground,black);cg.setColor(QColorGroup::Button,QColor(192,192,192));cg.setColor(QColorGroup::Light,white);cg.setColor(QColorGroup::Midlight,QColor(220,220,220));cg.setColor(QColorGroup::Dark,QColor(96,96,96));cg.setColor(QColorGroup::Mid,QColor(128,128,128));cg.setColor(QColorGroup::Text,black);cg.setColor(QColorGroup::BrightText,white);cg.setColor(QColorGroup::ButtonText,black);cg.setColor(QColorGroup::Base,white);cg.setColor(QColorGroup::Background,white);cg.setColor(QColorGroup::Shadow,black);cg.setColor(QColorGroup::Highlight,black);cg.setColor(QColorGroup::HighlightedText,white);pal.setInactive(cg);cg.setColor(QColorGroup::Foreground,QColor(128,128,128));cg.setColor(QColorGroup::Button,QColor(192,192,192));cg.setColor(QColorGroup::Light,white);cg.setColor(QColorGroup::Midlight,QColor(220,220,220));cg.setColor(QColorGroup::Dark,QColor(96,96,96));cg.setColor(QColorGroup::Mid,QColor(128,128,128));cg.setColor(QColorGroup::Text,black);cg.setColor(QColorGroup::BrightText,white);cg.setColor(QColorGroup::ButtonText,QColor(128,128,128));cg.setColor(QColorGroup::Base,white);cg.setColor(QColorGroup::Background,white);cg.setColor(QColorGroup::Shadow,black);cg.setColor(QColorGroup::Highlight,black);cg.setColor(QColorGroup::HighlightedText,white);pal.setDisabled(cg);setPalette(pal);QFontf(font());f.setFamily("adobe-helvetica");f.setPointSize(29);f.setBold(TRUE);setFont(f);setCaption(tr(""));//手动添加的代码t="Hello,World";b=0;QTimer*timer=newQTimer(this);connect(timer,SIGNAL(timeout()),SLOT(animate()));timer->start(40);QWhatsThis::add(this,tr("thisishello,worldsample."));}/**Destroystheobjectandfreesanyallocatedresources*/Hello::~Hello(){//noneedtodeletechildwidgets,Qtdoesitallforus}/*Thisprivateslotiscalledeachtimethetimerfires.*///以下是手动添加的代码voidHello::animate(){b=(b+1)&15;repaint(FALSE);}/*HandlesmousebuttonreleaseeventsfortheHellowidget.Weemittheclicked()signalwhenthemouseisreleasedinsidethewidget.*/voidHello::mouseReleaseEvent(QMouseEvent*e){if(rect().contains(e->pos()))emitclicked();}/*HandlespainteventsfortheHellowidget.Flicker-freeupdate.Thetextisfirstdrawninthepixmapandthepixmapisthenblt'edtothescreen.*/voidHello::paintEvent(QPaintEvent*){staticintsin_tbl[16]={0,38,71,92,100,92,71,38,0,-38,-71,-92,-100,-92,-71,-38};if(t.isEmpty())return;//1:Computesomesizes,positionsetc.QFontMetricsfm=fontMetrics();intw=fm.width(t)+20;inth=fm.height()*2;intpmx=width()/2-w/2;intpmy=height()/2-h/2;//2:Createthepixmapandfillitwiththewidget'sbackgroundQPixmappm(w,h);pm.fill(this,pmx,pmy);//3:Paintthepixmap.CoolwaveeffectQPainterp;intx=10;inty=h/2+fm.descent();inti=0;p.begin(&pm);p.setFont(font());while(!t[i].isNull()){inti16=(b+i)&15;p.setPen(QColor((15-i16)*16,255,255,QColor::Hsv));p.drawText(x,y-sin_tbl[i16]*h/800,t.mid(i,1),1);x+=fm.width(t[i]);i++;}p.end();//4:CopythepixmaptotheHellowidgetbitBlt(this,pmx,pmy,&pm);} main.cpp |