如何使用PyQt5从“main”选项卡而不是其他选项卡中删除Close按钮?

2024-04-26 23:58:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个应用程序,它有一个主主页选项卡,其中有一个表显示数据,然后当用户选择其中一行时,一个新选项卡将打开,其中包含更多详细信息。为了使选项卡能够关闭,我设置了self.tabWidget.setTabsClosable(True)。但是我想使第一个选项卡无法关闭(否则您可以关闭所有选项卡,而应用程序上没有其他任何内容)

我从this answer:self.tabWidget.tabBar().setTabButton(0, QtGui.QTabBar.RightSide, None)尝试了这行代码。但它似乎不起作用(我想我没有使用tabBar,我使用QTabWidget),我到处都搜索,找不到解决方案。任何帮助都将不胜感激

我已经在下面显示了我的代码。提前道歉,这是我有史以来第一次张贴,我不知道我这样做是否正确

        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
        self.tabWidget.setGeometry(QtCore.QRect(0, 0, 1081, 741))
        self.tabWidget.setObjectName("tabWidget")
        self.tabWidget.setTabsClosable(True)
        self.tabWidget.setMovable(True)
        self.tabWidget.tabCloseRequested.connect(self.closeTab)
        self.tabWidget.tabBar().setTabButton(0, QTabBar.RightSide, None)
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.tabWidget.addTab(self.tab, "")

Tags: selfnonetrue应用程序tab选项卡qtwidgetssetobjectname