样式化QListWidget项目小部件:选定状态

时间:2014-12-18 06:13:34

标签: c++ css qt qlistwidget qtstylesheets

我有一个显示图块的窗口,每个图块都有一些信息。瓷砖以平板结构排列。实现它的方式是,QListWidget用于保存切片,每个切片设置为QListWidget中QListWidgetItems中的项目小部件。

我使用样式表设置了瓷砖样式。我的问题是,当选择磁贴时,我无法以某种方式突出显示磁贴。如果我根本不使用样式表,则默认选择的突出显示有效。但是,只要我将样式应用于切片,在非选定状态和选定状态下切片就没有区别。

我试图按照以下方式进行,但它不起作用。

.tile
{
/*non selected style*/
}

.tileList::item:selected
.tile
{
/*selected style*/
}

知道如何实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

通过以下方式,我可以在某种程度上完成这项工作(不是全面的解决方案)。

  1. 使平铺小部件半透明。
  2. 将背景颜色设置为QListWidgetItem
  3. 选择时,为QListWidgetItem设置不同的背景颜色
  4. 样式:

    .titleList::item {
        background-color: #fff;
    }
    
    .lstSnapQuote::item:selected {
        background-color: #5555FF;
    }
    

答案 1 :(得分:0)

我在Qt Designer中通过设置我想要的调色板然后放

来解决它
QListView::item:selected { background: palette(Highlight) }

作为styleSheet。也许这有助于某人。

如果你想从中央qss那里做,我想你必须从问题代码中删除“.tile”部分。

.tileList::item:selected
.tile <--- remove this line
{
/*selected style*/
}