• 7726阅读
  • 3回复

如何设置Qlabel的颜色不断闪烁 [复制链接]

上一主题 下一主题
离线limian
 
只看楼主 倒序阅读 楼主  发表于: 2007-07-06
— 本帖被 XChinux 执行加亮操作(2008-07-18) —
如何设置Qlabel的颜色不断闪烁呢
离线qoozone1234

只看该作者 1楼 发表于: 2007-07-06
小妹妹。呵呵,
颜色不断闪烁直接弄个定时器就可以了。
或者是直接重载qlabel的paintevent。
离线limian
只看该作者 2楼 发表于: 2007-07-08
直接重载qlabel的paintevent
请教具体该怎么做呢
离线jwqacqy
只看该作者 3楼 发表于: 2010-08-19
        unsigned int tbuffer[640*480];
        img = QImage( 640, 480, QImage::Format_RGB32 );
        unsigned int *p = (unsigned int*)(tbuffer);
        for(int a=0;a<480;a++)
          {
          for(int b=0;b<640;b++)
          {
                 (*p)=0x00000000;
#if 0
             if(b<80)
               {
                 (*p)=0x00ff0000;
           }

             else if((b>=80)&&(b<160))
                {
          (*p)=0x0000ff00;
        }
             else if((b>=160)&&(b<240))
                {
          (*p)=0x000000ff;
        }
             else
        {
          (*p)=0x00ff0000;
        }
#endif
              p++;
      }

     }


       unsigned int abuffer[640*480];

    unsigned int *p1 = (unsigned int*)(abuffer);
        for(int i=0;i<480;i++)
          {
          for(int j=0;j<640;j++)
          {
          (*p1)=0x00ffffff;
#if 0
             if(j<80)
               {
                 (*p1)=0x00ff00ff;
           }

             else if((j>=80)&&(j<160))
                {
          (*p1)=0x00ff00;
        }
             else if((j>=160)&&(j<240))
                {
          (*p1)=0x0000ff00;
        }
             else
        {
          (*p1)=0x00ff00ff;
        }
#endif
              p1++;
      }

     }

static char e;

if(e)
{
       memcpy( img.bits(),abuffer, 640 * 480 * 4 );
       e=!e;

//qDebug()<<"11111111111111111111111111111";
}
else
{
       memcpy( img.bits(),tbuffer, 640 * 480 * 4 );
       e=!e;

//qDebug()<<"2222222222222222222222222222222";
}
        pixmap = QPixmap::fromImage(img);
        label->setPixmap(pixmap);
快速回复
限100 字节
 
上一个 下一个