找回密码
 立即注册
收起左侧

如何在QWidget里实现MFC里面CScrollview的效果

3
回复
7024
查看
[复制链接]
累计签到:11 天
连续签到:2 天
来源: 2018-8-28 16:19:33 显示全部楼层 |阅读模式
1Qter豆
记得在侯捷的MFC教程里面看到用MFC实现一个简单的绘图功能,非常简单,现在想在QT上实现,发现不会处理滚动条。具体功能:需要在指定大小的画布上进行绘图,当窗口大小小于画布大小时出现滚动条,现在我把QDockWidget里面当作mfc里面的view进行绘图,请问怎么能制定widget的大小以及怎么实现滚动条的功能?谢谢!

回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2018-8-29 09:01:49 显示全部楼层
widget 指定大小, resize() 函数,滚动区域, QScrollBar  类 ~
回复

使用道具 举报

累计签到:436 天
连续签到:1 天
2018-8-30 22:05:42 显示全部楼层
回复

使用道具 举报

累计签到:11 天
连续签到:3 天
2019-1-31 15:37:12 显示全部楼层
你这个问的就很笼统啊,我简单说一下,首先在你需要滚动条的窗口添加一个scrollArea控件(想给你来个图片发现自己不会上传,算了)
然后再scrollArea里添加你的需要滚动的界面。下面是qss设置,当你的界面超过scrollArea区域滚动条就会出现,不知道满不满足你的需求。

QScrollArea#scrollArea{
border: 0px solid grey;
}
QScrollBar::vertical {
background-color:rgb(37,37,37);
border:0px solid grey;
width: 12px;
margin:0px 0px 0px 0px;
}
QScrollBar::handle:vertical {
background-color: rgba(0,0,0,0.6);
border: 0px solid grey;
border-radius:0px;
min-height: 20px;
width:12px;
border-radius:5px;
}
QScrollBar::add-line:vertical {
              height: 0px;
              subcontrol-origin:margin;
          }
QScrollBar::sub-line:vertical {
              height: 0px;
              subcontrol-origin:margin;
          }
QScrollBar::up-arrow:vertical {
             subcontrol-origin: margin;
             height: 0px;
             border:0 0 0 0;
          }
QScrollBar::down-arrow:vertical {
             subcontrol-origin: margin;
             height: 0px;
          }
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background-color: rgb(37,37,37);;

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了