【问题标题】:Place widget in center of QScrollArea将小部件放在 QScrollArea 的中心
【发布时间】:2014-03-08 18:16:44
【问题描述】:

如何将固定大小的自定义小部件放置在 QScrollArea 的中心?

我可以使用 myWidget.pos(x,y) 手动将小部件放置在 QScrollArea 中,但 QScrollArea 中没有 sizeChanged 信号,因此如果滚动区域发生更改,此位置将是错误的。

【问题讨论】:

  • 你想做什么?
  • 我认为将小部件放在滚动区域的中心会忽略滚动区域的滚动功能的含义。也许你可以考虑用别的东西来代替?
  • 我使用 QScrollArea 来显示单个小部件,比如说一个用于绘画的画布。而且这个画布具有缩放功能,所以它当然可以比视口更小或更大。所以 QScrollArea 把小孩放在左上角,看起来很丑。
  • @folibis 您可以使用alignment 属性来更改滚动区域小部件的对齐方式。
  • 谢谢@thuga,我真的很想念这个属性。必须更仔细地阅读文档

标签: c++ qt user-interface qt5


【解决方案1】:

我使用@thuga 的建议来设置对齐方式,但另外我必须为小部件设置一个固定大小(在此之前我只设置了最小大小),而且我需要使用水平布局而不是垂直布局一。出于某种原因,垂直布局忽略了滚动区域的水平对齐方式。

我使用setFixedSize() 为我的自定义小部件设置了固定大小,但可以从 Qt Designer 设置布局和对齐方式。

【讨论】:

    猜你喜欢
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    • 2019-05-11
    • 1970-01-01
    • 2010-12-30
    • 2012-04-14
    • 2011-01-15
    相关资源
    最近更新 更多