0

我有一个从 QFrame 派生的类。我需要通过子类化paintEvent在QFrame的底部区域绘制一些东西。然后这个类是其他类的基类,这些类将布局和小部件放在框架上。如何避免派生类将小部件放在我在基类中绘制的底部区域?有没有办法限制小部件中从基类到所有派生类的可用空间,而不让他们知道?

4

1 回答 1

1

在不改变你的架构(这是我的第一个想法)的情况下,我会推荐这样的东西:

void QWidget::setContentsMargins (int left, int top, int right, int bottom)

将小部件内容周围的边距设置为左、上、右和下的大小。边距由布局系统使用,子类可以使用边距来指定要绘制的区域(例如,不包括框架)。

于 2015-06-12T07:22:33.800 回答