⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 desktop-example.html

📁 QT 下载资料仅供参考
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="x1781"></a>        for( int j = 0 ; j &lt; pm-&gt;<a href="qpixmap.html#height">height</a>() ; j++ ) {            int r = kindaRand();            if ( r &lt; KINDA_RAND_MAX / 3 )<a name="x1779"></a>                p.<a href="qpainter.html#setPen">setPen</a>( p1 );            else if ( r &lt; KINDA_RAND_MAX / 3 * 2 )                p.<a href="qpainter.html#setPen">setPen</a>( p2 );            else                p.<a href="qpainter.html#setPen">setPen</a>( p3 );<a name="x1772"></a>            p.<a href="qpainter.html#drawPoint">drawPoint</a>( i,j );        }    p.<a href="qpainter.html#end">end</a>();}void drawShadeText( <a href="qpainter.html">QPainter</a> *p, int x, int y, const char *text,                    const <a href="qcolor.html">QColor</a> &amp;topColor, const <a href="qcolor.html">QColor</a> &amp;bottomColor,                    int sw = 2 ){<a name="x1777"></a>    if ( !p-&gt;<a href="qpainter.html#isActive">isActive</a>() )        return;    p-&gt;<a href="qpainter.html#setPen">setPen</a>( bottomColor );<a name="x1774"></a>    p-&gt;<a href="qpainter.html#drawText">drawText</a>( x+sw, y+sw, text );    p-&gt;<a href="qpainter.html#setPen">setPen</a>( topColor );    p-&gt;<a href="qpainter.html#drawText">drawText</a>( x, y, text );}// NOTE: desktop drag/drop is experimentalclass DesktopWidget : public <a href="qwidget.html">QWidget</a>, private QDropSite{public:    DesktopWidget( const char *s, QWidget *parent=0, const char *name=0 );   ~DesktopWidget();    void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );    void dragEnterEvent( <a href="qdragenterevent.html">QDragEnterEvent</a> *e )    {<a name="x1769"></a>        if ( QImageDrag::<a href="qimagedrag.html#canDecode">canDecode</a>(e) )<a name="x1765"></a>            e-&gt;<a href="qdragmoveevent.html#accept">accept</a>();    }    void dragLeaveEvent( <a href="qdragleaveevent.html">QDragLeaveEvent</a> * )    {    }    void dragMoveEvent( <a href="qdragmoveevent.html">QDragMoveEvent</a> *e )    {        e-&gt;<a href="qdragmoveevent.html#accept">accept</a>();    }    void dropEvent( <a href="qdropevent.html">QDropEvent</a> * e )    {        <a href="qpixmap.html">QPixmap</a> pmp;<a name="x1770"></a>        if ( QImageDrag::<a href="qimagedrag.html#decode">decode</a>( e, pmp ) ) {            <a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>( pmp );            <a href="qwidget.html#update">update</a>();        }    }private:    <a href="qpixmap.html">QPixmap</a> *pm;    <a href="qstring.html">QString</a> text;};<a name="f489"></a>DesktopWidget::DesktopWidget( const char *s, QWidget *parent, const char *name )    : <a href="qwidget.html">QWidget</a>( parent, name, WType_Desktop | WPaintDesktop),        QDropSite(this){    text = s;    pm   = 0;}DesktopWidget::~DesktopWidget(){    delete pm;}void DesktopWidget::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * ){    <a href="qcolor.html">QColor</a> c1 = <a href="qwidget.html#backgroundColor">backgroundColor</a>();<a name="x1764"></a>    <a href="qcolor.html">QColor</a> c2 = c1.<a href="qcolor.html#light">light</a>(104);<a name="x1763"></a>    <a href="qcolor.html">QColor</a> c3 = c1.<a href="qcolor.html#dark">dark</a>(106);    if ( !pm ) {        pm = new <a href="qpixmap.html">QPixmap</a>( 64, 64 );        generateStone( pm, c1, c2, c3 );        <a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>( *pm );        <a href="qwidget.html#update">update</a>();    }    <a href="qrect.html">QRect</a> br = <a href="qwidget.html#fontMetrics">fontMetrics</a>().boundingRect( text );    <a href="qpixmap.html">QPixmap</a> offscreen( br.<a href="qrect.html#width">width</a>(), br.<a href="qrect.html#height">height</a>() );    int x = <a href="qwidget.html#width">width</a>()/2  - br.<a href="qrect.html#width">width</a>()/2;    int y = <a href="qwidget.html#height">height</a>()/2 - br.<a href="qrect.html#height">height</a>()/2;<a name="x1780"></a>    offscreen.<a href="qpixmap.html#fill">fill</a>( this, x, y );    <a href="qpainter.html">QPainter</a> p;    p.<a href="qpainter.html#begin">begin</a>( &amp;offscreen );<a name="x1796"></a><a name="x1795"></a>    drawShadeText( &amp;p, -br.<a href="qrect.html#x">x</a>(), -br.<a href="qrect.html#y">y</a>(), text, c2, c3, 3 );    p.<a href="qpainter.html#end">end</a>();    <a href="qpaintdevice.html#bitBlt-2">bitBlt</a>( this, x, y, &amp;offscreen );}void desktopWidget( const char *s = "Trolltech" ){    DesktopWidget *t = new DesktopWidget(s);    t-&gt;<a href="qwidget.html#update">update</a>();    qApp-&gt;<a href="qapplication.html#exec">exec</a>();    delete t;}void desktopText( const char *s = "Trolltech" ){    const int border = 20;<a name="x1761"></a>    <a href="qcolor.html">QColor</a> c1 =  qApp-&gt;<a href="qapplication.html#palette">palette</a>().inactive().background();    <a href="qcolor.html">QColor</a> c2 = c1.<a href="qcolor.html#light">light</a>(104);    <a href="qcolor.html">QColor</a> c3 = c1.<a href="qcolor.html#dark">dark</a>(106);    <a href="qpixmap.html">QPixmap</a> pm(10,10);    <a href="qpainter.html">QPainter</a> p;    p.<a href="qpainter.html#begin">begin</a>( &amp;pm );<a name="x1776"></a>    <a href="qrect.html">QRect</a> r = p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().boundingRect( s );    p.<a href="qpainter.html#end">end</a>();    int appWidth  =  qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;width();    int appHeight =  qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;height();    if ( r.<a href="qrect.html#width">width</a>() &gt; appWidth - border*2 )<a name="x1791"></a>        r.<a href="qrect.html#setWidth">setWidth</a>( appWidth - border*2 );    if ( r.<a href="qrect.html#height">height</a>() &gt; appHeight - border*2 )<a name="x1790"></a>        r.<a href="qrect.html#setHeight">setHeight</a>( appHeight - border*2 );<a name="x1792"></a><a name="x1782"></a>    pm.<a href="qpixmap.html#resize">resize</a>( r.<a href="qrect.html#size">size</a>() + QSize( border*2, border*2 ) );    generateStone( &amp;pm, c1, c2, c3 );    p.<a href="qpainter.html#begin">begin</a>( &amp;pm );    drawShadeText( &amp;p, -r.<a href="qrect.html#x">x</a>() + border, -r.<a href="qrect.html#y">y</a>() + border, s, c2, c3 );    p.<a href="qpainter.html#end">end</a>();    qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;setBackgroundPixmap( pm );}//// The program starts here.//int main( int argc, char **argv ){    <a href="qapplication.html">QApplication</a> app( argc, argv );    if ( argc &gt; 1 ) {        <a href="qfont.html">QFont</a> f( "charter", 96, QFont::Black );<a name="x1766"></a>        f.<a href="qfont.html#setStyleHint">setStyleHint</a>( QFont::Times );<a name="x1762"></a>        app.<a href="qapplication.html#setFont">setFont</a>( f );    }    bool validOptions = FALSE;    if ( argc == 2 ) {        validOptions = TRUE;        if ( strcmp(argv[1],"-poly") == 0 )            poly();        else if ( strcmp(argv[1],"-rotate") == 0 )            rotate();        else if ( strcmp(argv[1],"-troll") == 0 )            desktopText();        else if ( strcmp(argv[1],"-trollwidget") == 0 )            desktopWidget();        else            validOptions = FALSE;    }    if ( argc == 3 ) {        validOptions = TRUE;        if ( strcmp(argv[1],"-shadetext") == 0 )            desktopText( argv[2] );        else if ( strcmp(argv[1],"-shadewidget") == 0 )            desktopWidget( argv[2] );        else            validOptions = FALSE;    }    if ( !validOptions ) {        fprintf( stderr, "Usage:\n\tdesktop -poly"                               "\n\tdesktop -rotate"                               "\n\tdesktop -troll"                               "\n\tdesktop -trollwidget"                               "\n\tdesktop -shadetext &lt;text&gt;"                               "\n\tdesktop -shadewidget &lt;text&gt;\n" );        rotate();    }    return 0;}</pre><p>See also <a href="examples.html">Examples</a>.<!-- eof --><p><address><hr><div align=center><table width=100% cellspacing=0 border=0><tr><td>Copyright &copy; 2002 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a><td align=right><div align=right>Qt version 3.0.5</div></table></div></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -