
首先,我们适应QtCreator创建一个widget/gui项目,设置都采用默认设置。
然后,打开界面文件,添加一个QListWidget控件,注意调整一下布局。
我们采用两种方法,第一种,在mainwindowcpp的构造函数中,创建QStringList,然后将之添加到ListWidget中。代码如图。
然后,我们运行下程序可以看到显示的效果了。
第二种方法,同样在mainwindowcpp中进行设置。在构造函数中,我们添加代码:
ui->listWidget->addItem(new QListWidgetItem(QString("1")));
ui->listWidget->addItem(new QListWidgetItem(QString("98")));
ui->listWidget->addItem(new QListWidgetItem(QString("88")));
ui->listWidget->addItem(new QListWidgetItem(QString("44")));
然后,我们将程序运行起来,可以看到添加后的运行效果。item有多种构造函数,可以实现多种显示效果,可以测试一下。
细心的朋友可能注意到,list条目是按加载顺序排的,我们如果加入代码sortitem函数,可以是实现排序的显示效果。
最终使得list的效果如下。
Qt提供了两种方法来重写ListWidget的显示功能:一种是使用QListWidgetItem的setData()函数,另一种是使用QAbstractItemDelegate的paint()函数。
使用setData()函数,可以设置ListWidgetItem的每一项的显示内容,它接受两个参数:一个是用来指定显示内容的角色,另一个是用来指定显示内容的值。可以使用不同的角色和值来控制ListWidgetItem的显示内容,比如可以使用Qt::DisplayRole来指定显示文本,使用Qt::DecorationRole来指定显示图标等。
使用QAbstractItemDelegate的paint()函数,可以实现更加灵活的ListWidgetItem显示功能,它接受三个参数:一个是用来指定ListWidgetItem的位置和大小,一个是用来指定ListWidgetItem的样式,一个是用来指定ListWidgetItem的数据。可以使用这些参数来绘制ListWidgetItem,比如可以使用QPainter绘制文本,使用QIcon绘制图标等。
DateValue DateValue函数 返回 返回一个 Variant (Date)。 语法 DateValue(date) 必要的 date 参数 date 通常是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日之间的一个日期。但是,date 也可以是任何表达式,其所代表的日期
必须重写QItemDelegate的paint方法。
xxxxh
class Delegate :publicQItemDelegate
{
Q_OBJECT
public:
Delegate(QWidgetparent =0):QItemDelegate(parent){}
void paint(QPainterpainter, constQStyleOptionViewItem&option,
constQModelIndex&index)const;
};
xxxxcpp
table->setItemDelegate(new Delegate);
void Delegate::paint(QPainterpainter, constQStyleOptionViewItem&option,
constQModelIndex&index)const
{
if(indexcolumn()== 2)
painter->fillRect(optionrect, optionpalettehighlight());
QItemDelegate::paint(painter, option, index);
}
以上就是关于如何获取qlistwidgetitem 坐标全部的内容,包括:如何获取qlistwidgetitem 坐标、qt如何重写listwidget的显示功能、QTreeWidget的不同Item上怎么添加不同的delegate等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)