如何在父小部件的右侧绘画?

Posted

技术标签:

【中文标题】如何在父小部件的右侧绘画?【英文标题】:How do I paint on the right side of the parent widget? 【发布时间】:2012-09-07 18:39:58 【问题描述】:

我正在 QScrollArea 之上创建一个自定义 QScrollBar。我做了scroll_bar->setParent(acroll_area),现在 ScrollBar::painEvent 画在 QScrollArea 上,唯一的问题是它画在左侧。如何让它在右侧绘画。

【问题讨论】:

你在滚动区域调用了addScrollBarWidget吗? @RA。不,我不想这样做,因为 IIRC 会将滚动条放在内容的右侧,而不是在内容的顶部。 我明白了。然后尝试在滚动条上调用 setGeometry 以将其移动到右侧——这应该是相对于其父级放置的(参见 QWidget::setGeometry)。如果这不起作用,请尝试为您的滚动区域提供某种框布局,并将滚动条放置在布局中并向右对齐(请参阅 QWidget::setLayout 和 QBoxLayout::addWidget)。 【参考方案1】:

RA 是正确的,我调用了 setGeometry,它运行良好 :)(如果你想写自己的答案,请接受它)

【讨论】:

以上是关于如何在父小部件的右侧绘画?的主要内容,如果未能解决你的问题,请参考以下文章

Qt半透明背景导致子小部件在父小部件中“印记”

Flutter - 无法从父小部件更改子状态

如何从子小部件调用父小部件中的函数 |扑

在子小部件中,如何在 kivy 中获取父小部件的实例

如何从 Flutter 中的子小部件调用父小部件功能

如何将父小部件焦点重定向到子小部件?