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

如何移除PyQt5多标签窗口中聚焦标签的点状边框?

如何移除PyQt5多标签窗口中聚焦标签的点状边框?

我用PyQt5搭建了一个多标签窗口,发现当标签处于聚焦状态时,会显示一圈细点状的边框,效果如下:

聚焦标签的点状边框

请问怎么才能去掉这个点状边框呢?我的操作系统是Windows10,不知道这个因素会不会有影响。

以下是生成这个窗口的Python代码:

from PyQt5.QtWidgets import QTabWidget, QWidget, QVBoxLayout, QApplication
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg
from numpy.random import rand
from sys import argv, exit

class mainWindow(QTabWidget):
    def __init__(self, parent = None):
        super(mainWindow, self).__init__(parent)

        # Create tab1
        self.tab1 = QWidget()
        self.addTab(self.tab1,"Tab 1")
        self.figure = plt.figure()
        self.canvas = FigureCanvasQTAgg(self.figure)
        layout = QVBoxLayout()
        layout.addWidget(self.canvas)
        self.tab1.setLayout(layout)
        self.plot()

        # Create tab2
        self.tab2 = QWidget()
        self.addTab(self.tab2,"Tab 2")
        self.figure = plt.figure()
        self.canvas = FigureCanvasQTAgg(self.figure)
        layout = QVBoxLayout()
        layout.addWidget(self.canvas)
        self.tab2.setLayout(layout)
        self.plot()

    def plot(self):
        data = rand(10)
        ax = self.figure.add_subplot(111)
        ax.plot(data, '*-')
        self.canvas.draw()

app = QApplication(argv)
main = mainWindow()
main.show()
exit(app.exec_())

我之前查过一些相关的问题,尝试过添加类似self.tab1.setFocusPolicy(QtCore.Qt.NoFocus)这样的代码,或者给样式表设置QTableView:{outline: 0;},但都没能成功移除这个点状边框。

备注:内容来源于stack exchange,提问作者SapereAude

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 14:38:05