• 7013阅读
  • 7回复

[提问]QDockWidget如何添加滚动条 [复制链接]

上一主题 下一主题
离线houjun_pyc
 
只看楼主 倒序阅读 楼主  发表于: 2012-01-06
关键词: QDockWidget
我写了很多零部件,有QLineEditQLabel等等,然后我吧这些东西都放进了一个layout中,在吧这个layout放进了一个继承于QWidget的类中,最后把这个widget加入到了QDockWidget,这个widget的尺寸已经超过了这个QDockWidget,但是没有出现滚动条,请问如何给QDockWidget加上滚动条!
离线jdwx

只看该作者 1楼 发表于: 2012-01-06
回 楼主(houjun_pyc) 的帖子
在widget加入到QDockWidget之前,还要先将widget放到一个QScrollArea里,然后再把QScrollArea加到QDockWidget里。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线houjun_pyc
只看该作者 2楼 发表于: 2012-01-06
Re:回 楼主(houjun_pyc) 的帖子
引用第1楼jdwx于2012-01-06 11:24发表的 回 楼主(houjun_pyc) 的帖子 :
在widget加入到QDockWidget之前,还要先将widget放到一个QScrollArea里,然后再把QScrollArea加到QDockWidget里。


按这个办法做了,可是不行啊,之前还能正常显示,现在这么做了之后所有的东西都堆积起来了,全在这个QDockWidget中了,但是看不清楚了已经。是我哪里出了问题么?
离线淳于半邪

只看该作者 3楼 发表于: 2012-01-06
必须是你程序的问题
离线jdwx

只看该作者 4楼 发表于: 2012-01-06
回 2楼(houjun_pyc) 的帖子
估计是你没有设置widget的大小。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线houjun_pyc
只看该作者 5楼 发表于: 2012-01-06
Re:回 2楼(houjun_pyc) 的帖子
引用第4楼jdwx于2012-01-06 12:54发表的 回 2楼(houjun_pyc) 的帖子 :
估计是你没有设置widget的大小。



嗯,是widget大小的问题,我发现我在widget里面重写了QSize sizeHint() const,导致显示有问题了,呵呵,十分感谢你!之前百度有人说用QScrollArea不行,后来在一个群里问人家,人家说直接把零零碎碎的widget放到一个widget里然后装进QDockWidget中自然会出现滚动条,结果弄了半天也没出现。。。
现在总结了一下,还是QScrollArea方法行的通,希望这个帖子也能帮助其他Qt新手,再次谢谢 jdwx !
离线evelyn
只看该作者 6楼 发表于: 2013-03-24
您好  我用qt designer在dockwidget里面直接拖了一个qsrollwidget   再向qscrollwidget里面拖别的widget  运行后没有自动加滚动条  这是为什么  代码里面什么都没写  所以不存在冲在sizehint函数的可能
离线weinkym

只看该作者 7楼 发表于: 2013-03-24
QScrollArea应该能搞定的
快速回复
限100 字节
 
上一个 下一个