?? drawdemo.cpp
字號:
/****************************************************************************
** $Id: /sample/8/drawdemo.cpp 2.3.2 edited 2004-10-12 $
**
** Copyright (C) 2004-2005 OURSELEC AS. All rights reserved.
** Http://www.ourselec.com
** This file is part of an example program for Qt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#define PI 3.1415926
#include <stdio.h>
#include "drawdemo.h"
DrawDemo::DrawDemo( QWidget *parent, const char *name )
:QWidget( parent, name )
{
setCaption( "OURS_qt_Example" );
frame = new QFrame( this, "frame" );
frame->setBackgroundColor( black );
frame->setGeometry( QRect( 40, 40, 402, 252 ) );
for( int i=0; i<200; i++ ) {
buffer[i] = ( int )( sin( (i*PI) /100 ) * 100 );
}
QTimer *timer = new QTimer( this, "timer" );
connect( timer, SIGNAL( timeout() ), this, SLOT( flushBuff() ) );
timer->start( 30 );
}
void DrawDemo::flushBuff()
{
int tmp = buffer[0];
int i;
for( i=0; i<200; i++ ) {
buffer[i] = buffer[i+1];
}
buffer[199] = tmp;
repaint( 0, 0, 480, 320, TRUE );
}
void DrawDemo::paintEvent( QPaintEvent * )
{
frame->erase( 0, 0, 400, 320 );
QPainter painter( frame );
QPoint beginPoint;
QPoint endPoint;
painter.setPen( blue );
for( int i=0; i<199; i++ ) {
beginPoint.setX( 2*i );
beginPoint.setY( buffer[i] +125 );
endPoint.setX( 2*i+1 );
endPoint.setY( buffer[i+1] +125 );
painter.drawLine( beginPoint, endPoint );
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -