大家好,我想用QT实现类似于腾讯QQ截图的功能.

j2eebeans 2008-01-11 05:33:03
大家好,我是QT初学者,
我想用QT实现类似于腾讯QQ截图的功能,请高手指点指点.
在拖动鼠标的时候,是不是有一种控件来画那个可自定义拖动和改变大小的矩形呢,如果没有,我应该如何动手来完成这一部分的工作,
请高手们指点指点..万分感谢..
...全文
230 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cceczjxy 2008-01-12
  • 打赏
  • 举报
回复
根据鼠标的移动事件,自己划线也不太麻烦啊.

我的一段划线代码,不过我这是固定区域,
QPixmap jpeg1,pix;
QPainter line;
jpeg1.load("/tmp/zp.jpg");//°ÑÕÕƬµ¼ÈëÒ»¸ö±äÁ¿ÄÚ

line.begin(&jpeg1,this);
line.setPen(QPen(black,1,DashDotLine));
line.drawLine(73,0,73,240);
line.drawLine(73,240,247,240);
line.drawLine(248,0,248,240);
line.drawLine(140,120,180,120);
line.drawLine(160,100,160,140);
line.end();
bitBlt(this, 0, 0, &jpeg1);

form2->pixmapLabel2_3_2->setPaletteBackgroundPixmap(jpeg1); //°ÑÕÕƬÔÚ»­²¼ÄÚÕ¹¿ª
form2->pixmapLabel2_3_2->show();

QApplication::flush();

return ;



一段截屏代码
QPixmap jpeg1,pix;

jpeg1.load("/tmp/zp.jpg");
form2->pixmapLabel2_3_2->setGeometry(31,20,258,194);
form2->pixmapLabel2_3_2->setPixmap(jpeg1); //°ÑÕÕƬÔÚ»­²¼ÄÚÕ¹¿ª
form2->pixmapLabel2_3_2->show();
QApplication::flush();
pix=QPixmap::grabWindow(this->winId(),90,20,140,194);
remove("/tmp/zp.jpg");
if(pix.isNull())
{
printf("getpic err!\n");
}
else
{
if(pix.save( "/tmp/zp.jpg", "JPEG" )==false)//±£´æ½ØÈ¡µÄÕÕƬ
{
printf("save err!\n");
}
}

form2->pixmapLabel2_3_2->setGeometry(0,-21,320,240);
form2->pixmapLabel2_3_2->clear();
zeloas 2008-01-11
  • 打赏
  • 举报
回复
关注中………………

23,115

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧