我有一个派生自QFrame的类。我需要通过继承paintEvent在QFrame的底部区域绘制一些东西。这个类是其他类的基类,它将布局和小部件放在框架上。 如何避免派生类将小部件放在我在基类中绘制的底部区域?有没有办法将窗口小部件中的可用空间从基类限制到所有派生类,而不让他们知道?
答案 0 :(得分:1)
如果不改变你的架构(这是我的第一个想法),我会推荐这样的东西:
void QWidget :: setContentsMargins(int left,int top,int right,int 底部)
将窗口小部件内容周围的边距设置为具有大小 左,上,右和下。边距由布局使用 系统,子类可以使用它来指定要绘制的区域 (例如,排除框架)。