【问题标题】:PyQt5 - Missing close button icon in QTabBarPyQt5 - QTabBar 中缺少关闭按钮图标
【发布时间】:2020-10-27 18:26:21
【问题描述】:

我正在尝试将标签设置为“可关闭”,但是在使用 PyQt5 和“Fusion”样式时,我在各个标签上看不到关闭按钮图标:

当我设置“Windows”样式时,我可以看到:

我已经尝试过使用 styleSheet qtabbar 按钮,但是没有用:

    QTabBar::close-button {
     image: url(close.png);
     subcontrol-position: left;
 }

这是我的代码:

#!/bin/python3
import sys
from PyQt5.QtWidgets import (QApplication, QVBoxLayout,
                            QTabBar, QFrame)

class App(QFrame):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Web Browser")
        self.setBaseSize(683, 384)
        self.CreateApp()

    def CreateApp(self):
        self.layout = QVBoxLayout()
        self.tab_Bar = QTabBar(movable=True, tabsClosable=True)
        self.tab_Bar.tabCloseRequested.connect(self.CloseTab)

        self.tab_Bar.addTab("Tab 1")
        self.tab_Bar.addTab("Tab 2")

        self.tab_Bar.setCurrentIndex(0)

        self.layout.addWidget(self.tab_Bar)
        self.setLayout(self.layout)
        self.show()

    def CloseTab(self, i):
        self.tab_Bar.removeTab(i)


if __name__ == "__main__":
    QApplication.setStyle('Fusion')
    app = QApplication(sys.argv)
    window = App()

    sys.exit(app.exec_())

我使用的是 Python 3.6.2 版和 PyQt5 5.10 版。

这个问题的根本原因是什么?也许我的系统缺少一些 Fusion 风格的图标?

【问题讨论】:

    标签: python python-3.x pyqt5 qtabbar


    【解决方案1】:

    可以在here 找到类似的问题。虽然没有官方答案,但在 cmets 中有一些建议。检查他们。由于它适用于“Windows”而不是“Fusion”,因此可能是 QT5 中的一个错误。

    【讨论】:

    • 是的,我已经阅读了该主题,但这是指由 QT 5.9.0 引起的问题,该问题已在 5.9.2 中修复。就我而言,我使用的是 QT 5.6.0。我在bugreports.qt.io 中搜索,似乎在这个版本中运行良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多