在图标模式下使用qlistview时,我需要在选择图标时完全删除hilighting。 使用下面的代码不再突出显示图标下方的文字,但选中后仍然会在图标上显示蓝色
QString stylesheet = "";
stylesheet += "QListView::item:alternate {background-image: transparent; background-color: transparent;}";
stylesheet += "QListView::item:selected {background-image: transparent; background-color: transparent;padding: 0px;color: black;}";
stylesheet += "QListView::item:selected:active{background-image: transparent;background-color: transparent; color: black;}";
stylesheet += "QListView::item:selected:!active{background-image: transparent;background-color: transparent;color: black;}";
setStyleSheet(stylesheet);
有没有人知道如何在图标上更改所选颜色而无需继承QStandardItem?
答案 0 :(得分:6)
对于带有QStandardItem的QListView,它可以做你想要的。只需创建一个图标,为正常状态和选定状态添加相同的像素图。然后在项目
中设置setIconQIcon icon;
icon.addPixmap(yourPixmap,QIcon::Normal);
icon.addPixmap(yourPixmap,QIcon::Selected);
qstandardItem.setIcon(icon);
答案 1 :(得分:0)
找到我自己的答案。如果不使用委托,则无法删除QListview中的剖面颜色叠加,但切换到使用QListWidget后,我可以通过设置选定的图标图像来禁用选择叠加层