更改QTreeWidget中复选框的样式而不影响Maya中的复选标记?

2024-04-25 20:33:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有困难的样式化我的儿童在我的QtWidgets.QTreeWidget()

我试图使用:

css ='''
QTreeView {background-color: #1e1e1e;} 
QTreeView::indicator {border: 1px solid white;}
'''
self.file_tree.setStyleSheet(css)

背景颜色变化很好。但是,一旦我添加了实线边框或尝试更改复选框的背景色,三态检查就不再可见了。旧的风格不再适用。我无法访问或不知道如何访问QT资源,因为Maya有自己的版本,具有不同的图像。i、 e.复选框png。在

使用以下内容添加树的父目录:

^{pr2}$

通过以下方式添加qtreewidentitems:

# add the items
for child_file in self.child_files:
    # child = QtWidgets.QTreeWidgetItem(parent_widget)
    child = AssetTreeWidgetItem(parent_widget)
    child.setFlags(child.flags() | QtCore.Qt.ItemIsUserCheckable)
    child.setText(0, os.path.basename(child_file))
    child.setCheckState(0, QtCore.Qt.Unchecked)
    child.setFilePath(child_file)

我希望改变边界和/或背景颜色,使框更明显,而不是与黑暗的背景混合在树视图。在

编辑:我在设计器中添加了颜色样式表,它也取消了我的复选框。我的目标仍然是相同的,让复选框更明显。在


Tags: selfchild颜色样式widgetqtcss复选框
1条回答
网友
1楼 · 发布于 2024-04-25 20:33:59

由于setStyleSheet重写了当前的样式,因此我可以使用QtGui.QPalette()来实现我要寻找的结果:

    file_tree_palette = QtGui.QPalette()
    file_tree_palette.setColor(QtGui.QPalette.Window, QtGui.QColor(255, 255, 255))
    file_tree_palette.setColor(QtGui.QPalette.Base, QtGui.QColor(30, 30, 30))
    file_tree_palette.setColor(QtGui.QPalette.Highlight, QtGui.QColor(93, 93, 93))
    self.file_tree.setPalette(file_tree_palette)

我希望这可以帮助那些正在处理样式表的人。在

相关问题 更多 >