当前位置: 代码迷 >> QT开发 >> 怎么让QListWidget每个item中个别字用不同颜色显示
  详细解决方案

怎么让QListWidget每个item中个别字用不同颜色显示

热度:75   发布时间:2016-04-25 04:37:54.0
如何让QListWidget每个item中个别字用不同颜色显示?
QListWidget可以对每项设置前景和背景色。我现在希望对每项内部不同字符用不同颜色显示,比如
红色 蓝色
也就是一行可以用多种颜色显示。

如果不能直接达到效果,不知能不能把QLabel作为Item加入QListWidget中,因为QLabel支持richText显示。
或者不用QListWidget,其它方案也可以。
谢谢!

------解决方案--------------------
void QListWidget::setItemWidget ( QListWidgetItem * item, QWidget * widget )
Sets the widget to be displayed in the give item.

This function should only be used to display static content in the place of a list widget item. If you want to display custom dynamic content or implement a custom editor widget, use QListView and subclass QItemDelegate instead.

This function was introduced in Qt 4.1.

ps: 可以试试这个函数

See also itemWidget() and Delegate Classes.
------解决方案--------------------
之前只搞过整体的前景背景色设置,每一项没有试过,等待高手吧。。。
------解决方案--------------------
用样式表应该可以解决这个问题,setStyleSheet()。
------解决方案--------------------
1楼说的可行,也可以使用button啊,将item的事件与button事件关联
至于一行多种颜色,用样式或者直接重写paintEvent就好
------解决方案--------------------
把QLabel设置成QListWidget项可以用
void QListWidget::setItemWidget ( QListWidgetItem * item, QWidget * widget )
  相关解决方案