Ⅰ.2.6.3.4 如何测试 QTableViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items

原创 2015年11月17日 17:58:59

Table views,像其他的view 类一样,展示model中数据而不是自己保存数据。因此执行测试table展示的数据的关键是获取table view的model,对model的数据进行操作。下面举个例子展示如何操作,这个例子与list view的例子比较相似。

Example 6.10 The tst_tableview Test Script

def main():
    startApplication("itemviews")
    tableViewName ="{type='QTableView' unnamed='1' visible='1'}"
    tableView = waitForObject(tableViewName)
    model = tableView.model()
    selectionModel = tableView.selectionMode()
    for row in range(model.rowCount()):
        for column in range(model.columnCount()):
            index = model.index(row, column)
            text = model.data(index).toString()
            checked = selected = ""
            checkState = model.data(index, Qt.CheckStateRole).toInt()
            if checkState == Qt.Checked:
                checked = " +checked"
            if selectionModel.isSelected(index):
                selected = " +selected"
            test.log("(%d, %d) '%d'%s%s" % (row, column, text, checked, selected))
如果我们将上面的代码和等效的list view的代码做比较,很显然,唯一的区别是list models 只有一列(column 0),而table models有一个或多列。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

QTableView

QTableView 提供了一个表单的模型视图 一个QTableView 是用来显示表单视图和其中条目,而这些条目来自于模型, 这个类是提供了一个标准的表单,这个类只是模型视图类中的一个  ...

第Ⅰ部分 敏捷开发 第4章 测试

烈火验真金,逆境磨意志——卢修斯?塞尼加 编写单元测试是一种验证行为,更是设计行为,更是编写文档行为。避免了反馈循环。 ★4.1测试驱动的开发方法 设计程序先编写测试方案,单元测试是检验程序功能...

iTudou_2.6.3.4_Release_Build

  • 2010-11-14 10:59
  • 5.74MB
  • 下载

c++primer sales-items头文件

mtl_system_items_b表中的栏位与界面栏位对应

Introduction The basic table mtl_system_items_b is the basic table of item in ERP system and there ...

谷歌眼镜Mirror API之Menu Items

本文转自:http://bbs.seacat.cn/thread-874-1-2.html Menu Items(菜单项)    传播内容是只有一半的故事。最有趣的服务还允许用户通过菜单项...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)