QListWidget使用问题记录

1、内存泄漏问题

在Qt docs中,它表示如下:

If you need to insert a new item into the list at a particular
position, then it should be constructed without a parent widget. The
insertItem() function should then be used to place it within the list.
The list widget will take ownership of the item.

可以了解到Item不需要父控件,会自动释放,不用考虑内存泄漏问题。

2、滚动条显示问题

ui->listWidgetDesktop->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
ui->listWidgetDesktop->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

3、不要重复使用Item,会出现显示位置重叠问题,解决办法是只通过new新的item并insert,经过测试不会出现两个图标重叠现象。

ui->listWidget->clear();
for(int i = (mPageIndex -1)*ITEM_COUNT_OF_PAGE;i < mDesktopList.count();++i){
    QListWidgetItem *item = new QListWidgetItem();
    QWidget *form = new QWidget(this);
    item->setSizeHint(QSize(ITEM_WIDTH, ITEM_HEIGHT));
    ui->listWidge->addItem(item);
    form->setSizeIncrement(ITEM_WIDTH, ITEM_HEIGHT);
    ui->listWidgetDesktop->setItemWidget(item, form);
    form->setModelInfo(mCloudDesktopList.at(i));
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值