0

我想QMdiArea TabBar通过setStyleSheet函数设置宽度,但它不能设置宽度,它可以设置高度。现在我不知道如何解决这个问题,你能给我一个想法吗?非常感谢。这是我的代码。

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setGeometry(0,0,600,600)
        self.mdi = QMdiArea(self)
        self.mdi.setGeometry(40, 40, 500, 500)
        self.mdi.setViewMode(QMdiArea.TabbedView)
        self.mdi.setTabShape(QTabWidget.Triangular)
        self.mdi.setTabsClosable(True)
        self.mdi.setDocumentMode(False)
        self.mdi.setTabsMovable(True)
        self.mdi.setTabPosition(QTabWidget.North)
        self.mdi.setOption(QMdiArea.DontMaximizeSubWindowOnActivation)
        # setStyleSheet can not set the width,but it can set the height
        self.mdi.setStyleSheet("QTabBar::tab { height: 20px; width: 20px; }");
        self.setWindowTitle("MDI demo")
        sub = QMdiSubWindow()
        sub.resize(200, 200)
        sub.setWindowTitle("11")
        self.mdi.addSubWindow(sub)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = MainWindow()
    demo.show()
    sys.exit(app.exec_())
4

1 回答 1

0

我已经解决了这个问题。主要代码如下。 child = self.mdi.findChild(QTabBar) child.setExpanding(False)

于 2020-02-04T07:26:30.253 回答