如何使用 PyQt5 中垂直布局的 QScrollArea 使小部件堆叠在一起?

修道院

我是 PyQt5 的超级新手,并试图设计一个通知面板,其中最新的通知应该放在顶部而不是底部。对于通知,我使用 QLabel 小部件和通知面板,我使用 QScrollArea 垂直布局,垂直策略设置为 Fixed,否则它将标签放置在中心而不是顶部。

所以,问题是,当我想将新标签放在顶部时,它会将我的新标签放在底部。我试图通过创建一个列表来附加每个新通知标签,然后从最高索引到最低索引遍历列表,从而相应地更改每个标签的 y 轴值,从而弄乱几何函数。这是代码:

        if len(self.alert_labels_list) > 0:
            loop_ran = 0
            for l_index in range(len(self.alert_labels_list), 0, -1):
                temp_label = self.alert_labels_list[l_index-1]
                new_ay = self.label_height + 31    # 31 is the y pos for first label while label height is self defined variable that contains the set height which in this case is 80. 
                self.label_height = new_ay
                temp_label.setGeometry(11, new_ay, 430, 80)


        self.x_label.setGeometry(11, 31, 430, 80) # x_label is the new label being added.

        self.label_height = 80

        [...]
        # code which sets the label
        [...]

        self.alert_labels_list.append(self.x_label)

这里的想法是,从最高索引开始,我们将遇到最新的标签(警报),并通过将(固定的、定义的)标签高度添加到 prev 标签的 y 位置,我们将使所有标签按最近的顺序出现. 我希望这是有道理的。无论如何,上面的这个逻辑仍然不起作用,也许是因为布局不允许我自定义添加到它的新小部件的位置或其他什么?

如果您能指导我如何解决这个问题,我将不胜感激!谢谢!

修道院

非常感谢@musicamante,他的评论包含了答案。我只是在这里引用他的话,“ ...如果您使用框布局并想在“开始”插入小部件,请使用 layout.insertWidget(0, widget)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PyQt5:将 loadUi 与 Qt Designer 中的提升小部件一起使用

来自分类Dev

Qt 小部件将子布局堆叠在一起

来自分类Dev

如何在PyQt5的标签小部件中添加堆叠式布局?

来自分类Dev

gtkmm:将容器小部件(Box)中的元素堆叠在一起

来自分类Dev

PyQt:QScrollArea中的小部件的环绕式布局

来自分类Dev

在pyQt5的QGridLayout的QScrollArea中控制多行QLabel的高度?

来自分类Dev

如何并排绘制卡对象与在终端中堆叠在一起

来自分类Dev

如何让 PyQt5 中的小部件填满屏幕?

来自分类Dev

如何在 PyQt5 中对齐小部件

来自分类Dev

如何在 PyQt5 布局中更紧密地对齐两个小部件?

来自分类Dev

在pyqt5中将自定义窗口小部件添加到QScrollArea不会使滚动条出现

来自分类Dev

PyQt5中堆叠小部件的透明背景

来自分类Dev

pyqt5 迭代堆叠小部件中的项目?

来自分类Dev

如何将物品堆叠在一起?

来自分类Dev

如何使 div 向右浮动并堆叠在一起

来自分类Dev

将QML中的QSortFilterProxyModel与PyQt5一起使用

来自分类Dev

将DataFrame中的组堆叠在一起

来自分类Dev

如何控制布局尺寸PyQt5

来自分类Dev

如何在PyQt5中删除QGroupBox中的所有小部件?

来自分类Dev

pyqt5 使用标签管理布局

来自分类Dev

PyQt5使用布局将其他小部件添加到小部件子类?

来自分类Dev

在PyQt5中删除小部件时如何删除空白

来自分类Dev

在PyQt5中隐藏小部件后,如何设置较小的窗口大小?

来自分类Python

如何在PyQt5中获取当前关注的小部件对象名称?

来自分类Dev

在 PyQt5 中,我们如何获取焦点小部件的名称/对象名称?

来自分类Dev

如何在PyQt5的表格小部件中连接CheckBox单击的信号?

来自分类Dev

如何在pyqt5中创建小部件以显示谷歌地图

来自分类Dev

如何在PyQt5中显示和隐藏小部件?

来自分类Dev

如何在 PyQt5 的列表小部件中添加图像?

Related 相关文章

  1. 1

    PyQt5:将 loadUi 与 Qt Designer 中的提升小部件一起使用

  2. 2

    Qt 小部件将子布局堆叠在一起

  3. 3

    如何在PyQt5的标签小部件中添加堆叠式布局?

  4. 4

    gtkmm:将容器小部件(Box)中的元素堆叠在一起

  5. 5

    PyQt:QScrollArea中的小部件的环绕式布局

  6. 6

    在pyQt5的QGridLayout的QScrollArea中控制多行QLabel的高度?

  7. 7

    如何并排绘制卡对象与在终端中堆叠在一起

  8. 8

    如何让 PyQt5 中的小部件填满屏幕?

  9. 9

    如何在 PyQt5 中对齐小部件

  10. 10

    如何在 PyQt5 布局中更紧密地对齐两个小部件?

  11. 11

    在pyqt5中将自定义窗口小部件添加到QScrollArea不会使滚动条出现

  12. 12

    PyQt5中堆叠小部件的透明背景

  13. 13

    pyqt5 迭代堆叠小部件中的项目?

  14. 14

    如何将物品堆叠在一起?

  15. 15

    如何使 div 向右浮动并堆叠在一起

  16. 16

    将QML中的QSortFilterProxyModel与PyQt5一起使用

  17. 17

    将DataFrame中的组堆叠在一起

  18. 18

    如何控制布局尺寸PyQt5

  19. 19

    如何在PyQt5中删除QGroupBox中的所有小部件?

  20. 20

    pyqt5 使用标签管理布局

  21. 21

    PyQt5使用布局将其他小部件添加到小部件子类?

  22. 22

    在PyQt5中删除小部件时如何删除空白

  23. 23

    在PyQt5中隐藏小部件后,如何设置较小的窗口大小?

  24. 24

    如何在PyQt5中获取当前关注的小部件对象名称?

  25. 25

    在 PyQt5 中,我们如何获取焦点小部件的名称/对象名称?

  26. 26

    如何在PyQt5的表格小部件中连接CheckBox单击的信号?

  27. 27

    如何在pyqt5中创建小部件以显示谷歌地图

  28. 28

    如何在PyQt5中显示和隐藏小部件?

  29. 29

    如何在 PyQt5 的列表小部件中添加图像?

热门标签

归档