我有一个大的布局,其中包含以下结构的小部件和布局:
QVBoxLayout
QTableView
QPushButton
我将布局的边距、内边距和间距设置为0。在Mac OS X上呈现的方式是,按钮没有填满所有的空间。相反,在它周围有一些内边距。神奇的是,布局似乎知道这一点,并确保表视图与按钮的宽度完全相同:
当我移除按钮时,表视图返回到其完整的宽度:
我该如何更改它,使按钮和表格视图都变成与布局一样宽?
我尝试使用样式表的内边距和外边距进行调整,虽然可以用它们使按钮变宽,但树形视图周围的额外内边距仍然存在。我目前唯一的解决方案是将按钮包装在另一个小部件中,然后通过样式表将其边距和内边距设置为0,但这样会失去圆角的外观。
创建自定义样式有两种方法。在静态方法中,您可以选择现有的QStyle类,对其进行子类化,并重新实现虚拟函数以提供自定义行为,或者从头开始创建整个QStyle类。在动态方法中,您可以在运行时修改系统样式的行为。下面介绍了静态方法。动态方法在QProxyStyle中描述。
- Alberto