qt - 更改 ListView 的当前索引背景颜色而不覆盖其他“状态”
问题描述
我的 Qt Quick Control 2 应用程序正在使用 Material Dark Theme。我想更改中选定项目的背景颜色ListView
。我知道我可以在项目委托中做到这一点:
SwipeDelegate {
id: delegate
checkable: true
spacing: 0
width: parent.width
background: Rectangle {
color: index===currentIndex ? "red" : "transparent"
}
但是随着上面的变化,我失去了默认填充等,而且 Material 在按住状态下的径向动画也丢失了。是否可以仅更改所选项目的颜色并保持项目其他状态的原始行为?看来我必须自己重新实现缺失的东西
解决方案
也许您应该考虑实施突出显示。以下对我有用:
ListView {
// ... Your stuff ...
highlight: Rectangle { color: "lightsteelblue"; }
focus: true
}
推荐阅读
- r - 更新现有绘图而不是在 for 循环中创建新绘图
- python - 无法在 mac os 中卸载 python 2.7
- bash - 删除少于三行的文本文件
- java - 运行 spring-boot 应用程序时出错。调用目标异常
- xamarin.android - Xamarin.Android 存档未出现
- c# - 如何修复:字符串中每个单词的首字母大写 - 一个字母单词除外
- python - 从 seaborn.barplot 中的 y 轴重命名刻度
- css - 如何动态更改 UI 中的字体大小以在 JavaFX 中始终保持相同的宽度?
- wpf - 如何设置覆盖 WPF 中全局样式的特定控件元素设置?
- javascript - React hooks - useState() 不会使用新的状态更新重新渲染 UI