【发布时间】:2021-12-31 06:33:48
【问题描述】:
我有一个QTabWidget,我希望在各个选项卡上都有一个属性来保存选项卡是否持久(类似于 VSCode 中的选项卡,如果您不双击文件,它将不会持久在编辑器中)
到目前为止我有这个。我希望TabItem 和_persistent=False 使用斜体,而其他使用普通字体。
from PySide2 import QtWidgets, QtCore, QtGui
class TabItem(QtWidgets.QWidget):
def __init__(self, persistent=False):
super(TabItem, self).__init__()
self._persistent = persistent
self.setProperty('persistent', '0' if not persistent else '1')
class TabWidget(QtWidgets.QTabWidget):
def __init__(self):
super(TabWidget, self).__init__()
item1 = TabItem(persistent=False)
item2 = TabItem(persistent=True)
self.addTab(item1, 'FirstItem')
self.addTab(item2, 'SecondItem')
self.setStyleSheet("""
QTabBar::tab{
font: normal;
}
QTabBar::tab[persistent="0"]{
font: italic;
}
""")
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
win = TabWidget()
win.show()
sys.exit(app.exec_())
【问题讨论】:
标签: python pyqt pyside2 qtabwidget