You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中去除QTabWidget周边的边距?

去除Qt5中QTabWidget与窗口的边距

你遇到的边距问题主要来自两个核心点:布局的默认内边距,以及QTabWidget自身的样式边距。以下是具体解决方法:

1. 清除布局的内边距

你的代码已经设置了布局的水平/垂直间距,但QGridLayout默认带有内容边距(Contents Margins),这是QTabWidget和窗口边缘出现空隙的主要原因。只需在初始化布局时添加一行代码,将边距直接设为0:

self.layout.setContentsMargins(0, 0, 0, 0)

2. 移除QTabWidget的样式边距(可选)

如果设置布局边距后仍有细微空隙,可以通过样式表清除QTabWidget面板的边框和内置边距:

self.tabwidget.setStyleSheet("QTabWidget::pane { border: none; margin: 0; }")

修改后的完整代码

class App(QWidget):
    def __init__(self) -> None:
        super().__init__()

        self.layout = QGridLayout()
        self.setLayout(self.layout)
        self.layout.setHorizontalSpacing(0)
        self.layout.setVerticalSpacing(0)
        # 清除布局内边距
        self.layout.setContentsMargins(0, 0, 0, 0)

        self.tabs = []
        self.tabwidget = QTabWidget()
        # 可选:清除QTabWidget面板的边框与边距
        self.tabwidget.setStyleSheet("QTabWidget::pane { border: none; margin: 0; }")
        self.layout.addWidget(self.tabwidget, 0, 0)

        self.add_tab("Home", "asd")

        self.showMaximized()
    
    def add_tab(self, title: str, url: str):
        tab = browser.tab.Tab()
        tab.load("https://www.google.com")
        self.tabwidget.addTab(tab, title)

内容的提问来源于stack exchange,提问作者Yomada Cheezit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:20:29