• 6949阅读
  • 3回复

还是摄像头问题,能显示但没标题栏,无法控制它 [复制链接]

上一主题 下一主题
离线jhhappy8
 
只看楼主 倒序阅读 楼主  发表于: 2006-06-05
部分源码用的如下
paint=new QPainter(this);
paint->begin(this);

v4l_open("/dev/video0",&device);
unsigned char *data = GrabData();

int x,y;
int i=0;
QImage img;
QRgb *point;
int r,g,b;

if(img.create(480,320,32,0,QImage::IgnoreEndian))
{
for(x=0;x<320;x++)
{
for(y=0;y<480;y++)
{
r=(int)data[i+2];
g=(int)data[i+1];
b=(int)data;
point = (QRgb *) img.scanLine(x)+y;
*point = qRgb(r,g,b);
i+=3;
}
}
}
paint->drawImage(10,10,img);
    我现在根据上面给出的摄像头的一段程序,自己把它写全,已能在板子上显示了,但是那个图像没含最大化、最小化、关闭按钮的标题栏,请问能把它画在label或是其他qt的类上吗?怎么画呢,我还想加一个按钮来关闭端口。谢谢!
[ 此贴被XChinux在2006-06-06 19:28重新编辑 ]
离线shiroki

只看该作者 1楼 发表于: 2006-06-05
创建个widget。把这段代码写在它的paintEvent里应该就可以了吧
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线ljq206

只看该作者 2楼 发表于: 2006-06-07
楼主我想请教一下,我按照上面类似的做法,图像不能刷屏,只能显示最初采集的一帧,时什么原因。
离线shiroki

只看该作者 3楼 发表于: 2006-06-08
因为paintEvent只有在widget接到paint事件的时候才会调用。 你不动它是不会调到paintEvent的
还是加个timer或者在需要刷新的时候调用repaint才行
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个