人类一败图地 2022-05-31 17:25
浏览 110
已结题

QListWidget更新item后重绘长度

QListWidget更新item后重绘

我将listwidget与combobox绑定后

    ui.comboBox->setModel(listWidget->model());
    ui.comboBox->setView(listWidget);
    ui.comboBox->clear();

当根据存储数据QStringList valueList的值重新载入listwidget后

删除后的SlotRemoveProperty槽函数

ui.comboBox->clear();  //清空item
    CleanAll *cleanall = new CleanAll;  //新建一个全部清空功能的item
    QListWidgetItem *list_item = new QListWidgetItem(listWidget);
    listWidget->setItemWidget(list_item, cleanall);
    connect(cleanall, &CleanAll::signal_DeleteAllClick, this, &UserComboBox::slot_Clean);
    for (int i = 0; i < valueList.size(); i++) {
        if (QString::compare(valueList[i], QString("")) != 0)
            MyAddItem(valueList[i]);  //根据valuelist添加新item

myadditem函数:

ComboBoxItem *item = new ComboBoxItem();//一个由button(删除按钮)和label组成的widget
    item->setLabelText(text);
//点击删除按钮发出信号:
    connect(item, &ComboBoxItem::SignalDeleteProperty, this, &UserComboBox::SlotRemoveProperty);
    connect(item, &ComboBoxItem::SignalShowClicked, this, &UserComboBox::SlotShowItem);
    QListWidgetItem *list_item = new QListWidgetItem();
    item->setProperty("value",text);
    listWidget->insertItem(listWidget->count() - 1, list_item);
    listWidget->setItemWidget(list_item, item);

删除前:

img

删除后:

img

点击全部删除:

img

listwidget长度不能正常显示,只能在下拉框关闭后重新打开才能正常显示


我想实现点击删除后立刻刷新listwidget长度,但是不知道update怎么用(或者说用了没变化),请问该怎么改
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月8日
    • 创建了问题 5月31日

    悬赏问题

    • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
    • ¥15 系统2008r2 装机配置推荐一下
    • ¥500 服务器搭建cisco AnyConnect vpn
    • ¥15 用大厂网站防红自己网站
    • ¥15 悬赏Python-playwright部署在centos7上
    • ¥15 psoc creator软件有没有人能远程安装啊
    • ¥15 快速扫描算法求解Eikonal方程咨询
    • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
    • ¥15 校内二手商品转让网站
    • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?