主题 : 在Qtopia2.2中可以垂直显示的QProgressBar 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 23357
精华: 0
发帖: 50
金钱: 250 两
威望: 50 点
贡献值: 0 点
综合积分: 100 分
注册时间: 2010-06-18
最后登录: 2017-09-13
楼主  发表于: 2010-08-14 11:44

 在Qtopia2.2中可以垂直显示的QProgressBar

将水平显示的QProgressBar改成垂直显示  同时去除了在LCD中快速填充时可能出现的动态闪烁
附件设置隐藏,需要回复后才能看到
级别: 侠客
UID: 23357
精华: 0
发帖: 50
金钱: 250 两
威望: 50 点
贡献值: 0 点
综合积分: 100 分
注册时间: 2010-06-18
最后登录: 2017-09-13
1楼  发表于: 2010-08-14 11:52
                     QPalette pal;
        QColorGroup cg;
        cg.setColor( QColorGroup::Foreground, black );
        cg.setColor( QColorGroup::Button, QColor( 236, 233, 233) );
        cg.setColor( QColorGroup::Light, white );
        cg.setColor( QColorGroup::Midlight, QColor( 245, 244, 244) );
       cg.setColor( QColorGroup::Dark, QColor( 118, 117, 117) );
       cg.setColor( QColorGroup::Mid, QColor( 157, 155, 155) );
        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, QColor( 0, 200, 0) );
       cg.setColor( QColorGroup::HighlightedText, white );
       pal.setActive( cg );
    cg.setColor( QColorGroup::Foreground, black );
    cg.setColor( QColorGroup::Button, QColor( 236, 233, 233) );
    cg.setColor( QColorGroup::Light, white );
    cg.setColor( QColorGroup::Midlight, white );
    cg.setColor( QColorGroup::Dark, QColor( 118, 117, 117) );
    cg.setColor( QColorGroup::Mid, QColor( 157, 155, 155) );
    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, QColor( 0, 170, 0) );
    cg.setColor( QColorGroup::HighlightedText, white );
    pal.setInactive( cg );
    cg.setColor( QColorGroup::Foreground, QColor( 128, 128, 128) );
    cg.setColor( QColorGroup::Button, QColor( 236, 233, 233) );
    cg.setColor( QColorGroup::Light, white );
    cg.setColor( QColorGroup::Midlight, white );
    cg.setColor( QColorGroup::Dark, QColor( 118, 117, 117) );
    cg.setColor( QColorGroup::Mid, QColor( 157, 155, 155) );
    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, QColor( 0, 170, 0) );
    cg.setColor( QColorGroup::HighlightedText, white );
    pal.setDisabled( cg );
    for(int i=0; i<3; i++){
        ProgressBar = new MyProgressBar(this);
            ProgressBar->setGeometry( QRect( 20+i*90, 110, 30, 100 ) );
            ProgressBar->setMaximumSize( QSize( 100, 1000 ) );
        ProgressBar->setTotalSteps(100);
        ProgressBar->setProgress(10+i*30);
            ProgressBar->setFrameShape( QProgressBar::Box );
            ProgressBar->setFrameShadow( QProgressBar::Sunken );
        ProgressBar->setBackgroundOrigin( QProgressBar::WidgetOrigin );
        ProgressBar->setIndicatorFollowsStyle( FALSE );
        ProgressBar->setCenterIndicator( TRUE );
            ProgressBar->setPalette( pal );
    }
    // 以上是在窗口构造函数中动态产生3个垂直的进度条代码
级别: 侠客
UID: 23357
精华: 0
发帖: 50
金钱: 250 两
威望: 50 点
贡献值: 0 点
综合积分: 100 分
注册时间: 2010-06-18
最后登录: 2017-09-13
2楼  发表于: 2010-08-14 11:57
    for(int i=0; i<3; i++){
        ProgressBar[i] = new MyProgressBar(this);
            ProgressBar[i]->setGeometry( QRect( 20+i*90, 110, 30, 100 ) );
            ProgressBar[i]->setMaximumSize( QSize( 100, 1000 ) );
        ProgressBar[i]->setTotalSteps(100);
        ProgressBar[i]->setProgress(10+i*30);
            ProgressBar[i]->setFrameShape( QProgressBar::Box );
            ProgressBar[i]->setFrameShadow( QProgressBar::Sunken );
        ProgressBar[i]->setBackgroundOrigin( QProgressBar::WidgetOrigin );
        ProgressBar[i]->setIndicatorFollowsStyle( FALSE );
        ProgressBar[i]->setCenterIndicator( TRUE );
            ProgressBar[i]->setPalette( pal );
        needflag[i]=FALSE;
    }
//前面的有段代码上传和显示不一致 改一下
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-08-14 12:09
支持,顶一个
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 23357
精华: 0
发帖: 50
金钱: 250 两
威望: 50 点
贡献值: 0 点
综合积分: 100 分
注册时间: 2010-06-18
最后登录: 2017-09-13
4楼  发表于: 2010-08-14 12:35
    for (int i=0; i<3; i++){
        p[i]=ProgressBar[i]-> progress();
        //p[i]+= rand()%10;
        if (needflag[i]){
            ProgressBar[i]->setProgress(--p[i]);
        }else{
            ProgressBar[i]->setProgress(++p[i]);
        }
        if (p[i]<=0)   needflag[i]=FALSE;
        if (p[i]>=100) needflag[i]=TRUE;
    }
//动态演示
级别: 新手上路
UID: 12814
精华: 0
发帖: 31
金钱: 155 两
威望: 31 点
贡献值: 0 点
综合积分: 62 分
注册时间: 2010-01-13
最后登录: 2017-09-13
5楼  发表于: 2010-08-14 16:27
确实可以啊 再用
级别: 骑士
UID: 8265
精华: 0
发帖: 201
金钱: 1080 两
威望: 265 点
贡献值: 0 点
综合积分: 402 分
注册时间: 2009-08-17
最后登录: 2019-06-03
6楼  发表于: 2010-08-16 14:38
什么东东
级别: 新手上路
UID: 18947
精华: 0
发帖: 43
金钱: 215 两
威望: 43 点
贡献值: 0 点
综合积分: 86 分
注册时间: 2010-04-14
最后登录: 2012-12-14
7楼  发表于: 2010-08-16 15:12
顶一下~
级别: 侠客
UID: 5156
精华: 0
发帖: 73
金钱: 415 两
威望: 163 点
贡献值: 0 点
综合积分: 146 分
注册时间: 2009-04-12
最后登录: 2018-02-08
8楼  发表于: 2010-09-04 15:32
看看
级别: 侠客
UID: 13670
精华: 0
发帖: 67
金钱: 335 两
威望: 67 点
贡献值: 0 点
综合积分: 134 分
注册时间: 2010-01-27
最后登录: 2017-09-13
9楼  发表于: 2010-12-15 15:31
看看