Qt中加布局之后再加滚动条

岁小草 2013-01-19 09:44:17
我一个dialog上放了一个label控件(添加图片用的),还有一些PushButton,整个界面用一个QGridLayout布局起来,主要实现拖大dialog时,控件可以一起变大。
我想在图片大于label的时候,在label添加一个滚动条,但是这样之后,整个界面的控件位置都乱的一塌糊涂,在代码中重新设置也不起效果,有没有人知道怎么回事,该怎么解决?

或者,有没有大侠知道,在拖大或拖小dialog时,会不会发送一个信号,我可以手动改变dialog中控件的大小?

急用,在线等,先谢了!
...全文
1019 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Enockipp 2013-09-21
  • 打赏
  • 举报
回复
4楼正解~~
岁小草 2013-01-19
  • 打赏
  • 举报
回复
mainLabel = new QLabel; ui->scrollArea->setWidget(mainLabel); ui->scrollArea->setWidgetResizable(true); ui->scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); QString sPnlPath = "D:/PcsMessage/release/MaterialsInfo/as/20100710008.jpg"; mainLabel->setPixmap(QPixmap(sPnlPath)); 这样就好了
岁小草 2013-01-19
  • 打赏
  • 举报
回复
引用 2 楼 jdwx1 的回复:
修改一下,将QLabel改为QScrollArea,用代码把QLabel添加进QScrollArea, 用void setWidget ( QWidget * widget )添加QLabel 将void setWidgetResizable ( bool resizable )设为false 之后就可以给label添加图片了,图片比窗口大的时候会自动有滚动条。 ……
QScrollArea还需要设置什么属性吗? 我刚试了一下,图片比窗口大时,并没有滚动条出现。
jdwx 2013-01-19
  • 打赏
  • 举报
回复
修改一下,将QLabel改为QScrollArea,用代码把QLabel添加进QScrollArea, 用void setWidget ( QWidget * widget )添加QLabel 将void setWidgetResizable ( bool resizable )设为false 之后就可以给label添加图片了,图片比窗口大的时候会自动有滚动条。
引用 楼主 mingxia_sui 的回复:
我一个dialog上放了一个label控件(添加图片用的),还有一些PushButton,整个界面用一个QGridLayout布局起来,主要实现拖大dialog时,控件可以一起变大。 我想在图片大于label的时候,在label添加一个滚动条,但是这样之后,整个界面的控件位置都乱的一塌糊涂,在代码中重新设置也不起效果,有没有人知道怎么回事,该怎么解决? 或者,有没……
乔巴好萌 2013-01-19
  • 打赏
  • 举报
回复
引用 楼主 mingxia_sui 的回复:
我一个dialog上放了一个label控件(添加图片用的),还有一些PushButton,整个界面用一个QGridLayout布局起来,主要实现拖大dialog时,控件可以一起变大。 我想在图片大于label的时候,在label添加一个滚动条,但是这样之后,整个界面的控件位置都乱的一塌糊涂,在代码中重新设置也不起效果,有没有人知道怎么回事,该怎么解决? 或者,有没……
拖动时 会产生resize事件 你的picture显示区没有被Gridlayout管理起来吗

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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