我想通过setStyleSheet
函数设置QMdiArea TabBar
宽度,但它不能设置宽度,它可以设置高度。现在我不知道怎么解决问题,你能给我一个想法吗? 多谢。这是我的代码。
# -*- 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_())
我已经解决了这个问题。主要代码如下。
child = self.mdi.findChild(QTabBar)
child.setExpanding(False)