找回密码
 立即注册
收起左侧

QComboBox调用setModel(model)加进去数据后,再调用clear()为什么...

3
回复
5831
查看
[复制链接]
累计签到:10 天
连续签到:1 天
来源: 2020-3-12 22:36:54 显示全部楼层 |阅读模式
1Qter豆
QComboBox调用setModel(model)加进去数据后,再调用clear()为什么清除不掉数据呢?

回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2020-3-12 22:43:53 显示全部楼层
但是用addItem()加进去的数据可以用clear()清除掉
回复

使用道具 举报

累计签到:161 天
连续签到:1 天
2020-3-13 09:41:16 显示全部楼层
本帖最后由 学到老 于 2020-3-13 09:43 编辑

1.我用QStringListModel试了下,可以QComboBox::clear()掉数据。
2.其实最好直接清理掉模型里的数据就OK。
stringList.clear();
stringListModel->setStringList(stringList);
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2020-3-14 17:07:28 显示全部楼层
本帖最后由 Jarling 于 2020-3-14 17:08 编辑
学到老 发表于 2020-3-13 09:41
1.我用QStringListModel试了下,可以QComboBox::clear()掉数据。
2.其实最好直接清理掉模型里的数据就OK。
...

void Widget:: on_comboBoxType_currentIndexChanged(const QString &arg1)
{
    if(arg1 == QStringLiteral("请选择类型"))
    {
        ui->comboBoxBrand->clear();
    }
    else
    {
        QSqlQueryModel * model = new QSqlQueryModel(this);
        model->setQuery(QString("select name from brand where type = '%1'").arg(arg1));
        ui->comboBoxBrand->setModel(model);
    }
}
我这个代码却不行呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了