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

TableView和ListModel

5
回复
8488
查看
[复制链接]
累计签到:63 天
连续签到:1 天
来源: 2014-10-21 23:22:35 显示全部楼层 |阅读模式
1Qter豆
在使用QML的TableView和ListModel,过程中遇到这样的2个问题:
1.ListModel不会列删除
2.TableView的resizeColumnsToContents()没效果实例代码:
            for(var i=0;i<tableModel.count;i++)            {                tableModel.setProperty(i,valueRole,i+120)            }            tableView.addColumn(Qt.createQmlObject(strTestColumn,parent,"dynamicSnippet1"))
            tableView.model = null;            tableView.model = tableModel;
            tableView.resizeColumnsToContents();
效果如下图:

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

以下是我寫的實例,提供您參考 // Delete selection row QModelIndex index = m_ScheduleList->currentIndex(); QAbstractItemModel *model = m_ScheduleList->model(); model->removeRow(index.row(), index.parent()); if ((index.row() > MAX_SCHEDULE) || (index.row() < 0)) { QMessageBox::about(this, tr("Delete Schedule"), tr("Please select one row to delete")); return; } // Re-arrang list for (int i ...
回复

使用道具 举报

累计签到:3357 天
连续签到:1 天
2014-10-21 23:22:36 显示全部楼层
以下是我寫的實例,提供您參考

//        Delete selection row
        QModelIndex index = m_ScheduleList->currentIndex();
        QAbstractItemModel *model = m_ScheduleList->model();
        model->removeRow(index.row(), index.parent());
        if ((index.row() > MAX_SCHEDULE) || (index.row() < 0)) {
                QMessageBox::about(this, tr("Delete Schedule"), tr("Please select one row to delete"));
                return;
        }

//        Re-arrang list
        for (int i=index.row()+1; i<m_CCS.TotalFeedNumber; i++) {
                m_CCS.FeedIntervalTime[i-1] = m_CCS.FeedIntervalTime[i];
                m_CCS.FeedVolume[i-1] = m_CCS.FeedVolume[i];
        }

点评

嗯,感谢,我也是采用C++的方式解决了。  详情 回复 发表于 2014-11-4 11:44
回复

使用道具 举报

尚未签到

2014-10-22 12:03:37 显示全部楼层
其实也不一定要真正删除吧,隐藏了,告诉用户删除就行了
回复

使用道具 举报

累计签到:63 天
连续签到:1 天
2014-10-22 18:42:45 显示全部楼层
Joey_Chan 发表于 2014-10-22 12:03
其实也不一定要真正删除吧,隐藏了,告诉用户删除就行了

可是还会再添加列的,这样就会暴漏了,看到QAbstractListModel有删除的功能,是在不行就得用C++了。
回复

使用道具 举报

累计签到:63 天
连续签到:1 天
2014-10-24 21:19:03 显示全部楼层
大家没有做过ListModel删除的吗?
回复

使用道具 举报

累计签到:63 天
连续签到:1 天
2014-11-4 11:44:53 显示全部楼层
chenycs 发表于 2014-10-30 08:05
以下是我寫的實例,提供您參考

//        Delete selection row

嗯,感谢,我也是采用C++的方式解决了。
回复

使用道具 举报

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

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