如何让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 )