主题 : 关于开发板库函数的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 11301
精华: 0
发帖: 30
金钱: 150 两
威望: 30 点
综合积分: 60 分
注册时间: 2009-12-03
最后登录: 2011-05-25
楼主  发表于: 2010-01-20 20:10

 关于开发板库函数的问题

小弟,菜鸟又来麻烦大家了。
我用的mini2440 ,前些天,我把友善之臂提供的 arm-qtopia  qte 库重新配置了。
多了些函数;现在问题是开发板里面的库函数是不是也要更新?
该怎么做?

我自己改了个小示例,在开发板运行时,点击后自动关闭。。
是不是开发板库函数不支持的原因
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
1楼  发表于: 2010-01-20 20:58
引用楼主2167young于2010-01-20 20:10发表的 关于开发板库函数的问题 :
小弟,菜鸟又来麻烦大家了。
我用的mini2440 ,前些天,我把友善之臂提供的 arm-qtopia  qte 库重新配置了。
多了些函数;现在问题是开发板里面的库函数是不是也要更新?
该怎么做?

.......

改了过甚么小示例呢?

能否公开内容? 否则神仙也难救了!

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 11301
精华: 0
发帖: 30
金钱: 150 两
威望: 30 点
综合积分: 60 分
注册时间: 2009-12-03
最后登录: 2011-05-25
2楼  发表于: 2010-01-20 21:32

 回 1楼(eddylau) 的帖子

示例是example里面提供的drawlines
////////////****************connect.cpp*****************///////////////////////////////
#include <qwidget.h>
#include <qpainter.h>
#include <qtopia/qpeapplication.h>
#include <stdlib.h>


const int MAXPOINTS = 2000;            // maximum number of points
const int MAXCOLORS = 40;


//
// ConnectWidget - draws connected lines
//

class ConnectWidget : public QWidget
{
public:
    ConnectWidget( QWidget *parent=0, const char *name=0 );
   ~ConnectWidget();
protected:
    void    paintEvent( QPaintEvent * );
    void    mousePressEvent( QMouseEvent *);
    void    mouseReleaseEvent( QMouseEvent *);
    void    mouseMoveEvent( QMouseEvent *);
private:
    QPoint     *points;                // point array
    QColor     *colors;                // color array
    int        count;                // count = number of points
    bool    down;                // TRUE if mouse down
};


//
// Constructs a ConnectWidget.
//

ConnectWidget::ConnectWidget( QWidget *parent, const char *name )
    : QWidget( parent, name, WNorthWestGravity )
{
    setBackgroundColor( white );        // white background
    count = 0;
    down = FALSE;
    points = new QPoint[MAXPOINTS];
    colors = new QColor[MAXCOLORS];
    for ( int i=0; i<MAXCOLORS; i++ )        // init color array
    colors = QColor( 0, 0, 0 );
}

ConnectWidget::~ConnectWidget()
{
    delete[] points;                // cleanup
    delete[] colors;
}


//
// Handles paint events for the connect widget.
//

void ConnectWidget::paintEvent( QPaintEvent * )
{
    QPainter paint( this );
    paint.setPen(QPen(colors[0],Qt::RoundJoin)); // set random pen color
    paint.rotate(-30);
    paint.drawRect(80,80,100,20); // draw line
    
}


//
// Handles mouse press events for the connect widget.
//

void ConnectWidget::mousePressEvent( QMouseEvent * )
{
    down = TRUE;
    count = 0;                    // start recording points
    erase();                    // erase widget contents
}


//
// Handles mouse release events for the connect widget.
//

void ConnectWidget::mouseReleaseEvent( QMouseEvent * )
{
    down = FALSE;                // done recording points
    update();                    // draw the lines
}


//
// Handles mouse move events for the connect widget.
//

void ConnectWidget::mouseMoveEvent( QMouseEvent *e )
{
    if ( down && count < MAXPOINTS ) {
    QPainter paint( this );
    points[count++] = e->pos();        // add point
    paint.drawPoint( e->pos() );        // plot point
    }
}


//
// Create and display a ConnectWidget.
//

int main( int argc, char **argv )
{
    QApplication a( argc, argv );
    ConnectWidget connect;
    a.setMainWidget( &connect );
    connect.setCaption("Qt Example - Draw lines");
    connect.show();
    return a.exec();
}
////////////////////////////////////////***************************************///////////////////////////////////

修改部分是添加了 rotate 函数,

void ConnectWidget::paintEvent( QPaintEvent * )
{
    QPainter paint( this );
    paint.setPen(QPen(colors[0],Qt::RoundJoin)); // set random pen color
    paint.rotate(-30);
    paint.drawRect(80,80,100,20); // draw line
    
}

我的目的是 想 画一个可以转动的摇杆,每过一定时间旋转一个角度。
所以 先画了一个矩形,让其逆时针旋转30°;
其中 rotate 就是重新编译后,使用的函数(如果 不加rotate 可以显示矩形;加了后没显示出来,就关闭了)
http://www.aiothome.net/read.php?tid-4315.html
上面是我上次求助,“求助,关于 <qpainter.h> 里面class QPainter,  rotate 函数未定义”
附件: draw.rar (4 K) 下载次数:8
级别: 新手上路
UID: 11301
精华: 0
发帖: 30
金钱: 150 两
威望: 30 点
综合积分: 60 分
注册时间: 2009-12-03
最后登录: 2011-05-25
3楼  发表于: 2010-01-20 21:34
draw.rar  包含 工程所需的 source  .h  .pro  build