Qt样式表 - 如何去除空白区域

0 投票
1 回答
1118 浏览
提问于 2025-04-18 14:07

我正在用PySide创建一个简单的绘图应用,但遇到了很多多余的空白区域。

我该如何通过样式表(最好是这样)或者编程的方式去掉这些多余的空白呢?我试过把QFrame的边距和内边距都设置为0,但效果不大。

我使用布局来定位我的组件,而我的小部件都是从QFrame继承来的,通常还包含其他小部件,比如QTabWidget、QListWidget等等。

(我避免使用QWidget,因为我觉得Qt样式表对它的支持不太好)

下面是我应用程序的截图,红线指向了我遇到的问题区域(底部的红线有点长——那里有一个状态栏)

在这里输入图片描述

有什么想法吗?

1 个回答

2

如果你给你的控件设置背景颜色,你会发现无论你怎么调整 margin(外边距)或 padding(内边距)的数值,控件之间的间距和外边距都不会改变。这些间距是由布局来控制的。所以在你的布局中,你需要设置:

layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)

这样所有的空白空间就应该消失了。不幸的是,这只能通过编程来实现,而不能通过样式表来完成。你可以查看评论,了解更多关于 Qt如何通过样式表设置内容边距Qt如何去除边距 的信息。

撰写回答