Qt实现图像滚动视图

今天继续学习《Qt实战一二三》@博主一去丶二三里

 

Qt 之 QScrollArea源自:https://blog.csdn.net/liang19890820/article/details/52402002#commentsedit

在实现第一个效果:对一个图像实现区域滚动

QLabel *imageLabel = new QLabel(this);   
imageLabel->setPixmap(QPixmap(":/logo.jpg"));
QScrollArea *scrollArea = new QScrollArea(this);     
scrollArea->setWidget(imageLabel);//子部件必须使用setWidget()指定

代码很简单,但是运行出来:

无法显示完整图像。

虽然知道解决这个应该不难,但是还是花了不少时间,因为你会去找其他的方法,然后又遇到问题。。。

比如看到一个说可以重新构建一个窗体,让它的父窗体为滚动区域:https://blog.csdn.net/u012319493/article/details/52155284

结果是滚动条可以完全显示,图像没有,以此引发下列问题

error: 'class QScrollArea' has no member named 'setPixmap'
     scrollArea->setPixmap(QPixmap(":/logo.jpg"));
  解决办法:

QLabel *imageLabel = new QLabel(this);
imageLabel->setPixmap(QPixmap(":/logo.jpg"));

用imagelLable 就没有报错,说明“setPixmap'”是class QLabel 中的成员。

最后还是找到了解决办法,加上这行代码:

scrollArea->setGeometry(0,0,300,200); // 从屏幕上(0,0)位置开始(即为最左上角的点),显示一个300*200的界面(宽300,高200)

就是这个函数 setGeometry。不再需要用其他Layout布局

 

 

 

       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值