Ⅰ.2.6.3.3 如何测试 QTableWidgets 中的 Items
2015-11-17 16:56
495 查看
在这个部分我们将看一看两个例子。第一个例子展示了如何设置table的rows 和 columns的数字;以及如何使用items填充table——包括使items变成可点击的和可选的;以及如何隐藏rows。第二个例子展示了如何遍历table中的每个item(跳过异常的rows),以及在Squish log中打印item的text和state信息。(这部分代码取自SQUISHROOT/examples/qt/csvtable
下的 tst_iterating测试套件。)
Example 6.8
Setting up a Table Widget
QTableWidgetItems
上例中的这个方法可以顺理成章地应用于设置table widget items的其他内容,如,它们的字体,背景颜色,文本对齐方式等等。
不管我们是否用上面的代码设置了一个table,还是使用一些其他的手段(如,使用AUT加载数据文件)来填充一个已经有数据的table,我们需要遍历table的items,检查它们的text和其他的属性。这就是下面的例子要做的事。
Example 6.9 Testing a Table Widget's Items
另一个测试一整个table的有用的方法是将items和.tsv(以tab间隔开数据的格式)、.csv(以逗号间隔开数据的格式)或.xls(微软Excel表格程序格式,而非.xlsx格式) 文件中的数据进行比较。示例将在2.6.4中展示。
下的 tst_iterating测试套件。)
Example 6.8
Setting up a Table Widget
tableWidget = waitForObject("{type='QTableWidget' unnamed='1' visible='1'}") tableWidget.setRowCount(4) tableWidget.setColumnCount(3) count = 0 for row in range(tableWidget.rowCoun): for column in range(tableWidget.columnCount): tableItem = QTableWidgetItem("Item %d" %count) count += 1 if column == 2: tableitem.setCheckState(Qt.Unchecked) if row == 1 or row == 3: tableItem.setCheckState(Qt.Checked) tableWidget.setItem(row.column, tableItem) if count in (6,10): tableItem.setSelected(True) tableWidget.setRowHidden(2, True)代码生成的table如下所示:
QTableWidgetItems
上例中的这个方法可以顺理成章地应用于设置table widget items的其他内容,如,它们的字体,背景颜色,文本对齐方式等等。
不管我们是否用上面的代码设置了一个table,还是使用一些其他的手段(如,使用AUT加载数据文件)来填充一个已经有数据的table,我们需要遍历table的items,检查它们的text和其他的属性。这就是下面的例子要做的事。
Example 6.9 Testing a Table Widget's Items
tableWidget = waitForObject("{type='QTableWidget' unnamed='1' visible='1'}") for row in range(tableWidget.rowCount): if tableWidget.isRowHidden(row): test.log("Skipping hidden row %d" % row) continue for column in range(tableWidget.columnCount): tableItem = tableWidget.item(row, column) text = unicode(tableItem.text()) checked = selected = "" if tableItem.checkState() == Qt.Checked: checked = " + checked" if tableItem.isSelected(): selected = " +selected" test.log("(%d, %d) '%s'%s%s" %(row, column,text,checked, selected))log输出如下:
The log output produced by the above is: (0, 0) ’Item 0’ (0, 1) ’Item 1’ (0, 2) ’Item 2’ (1, 0) ’Item 3’ (1, 1) ’Item 4’ (1, 2) ’Item 5’ checked selected Skipping hidden row 2 (3, 0) ’Item 9’ selected (3, 1) ’Item 10’ (3, 2) ’Item 11’ checked正如我们之前注意到的,同样的技术可以应用于测试其他的属性,如每个table item的字体、背景、文本对齐方式等等。
另一个测试一整个table的有用的方法是将items和.tsv(以tab间隔开数据的格式)、.csv(以逗号间隔开数据的格式)或.xls(微软Excel表格程序格式,而非.xlsx格式) 文件中的数据进行比较。示例将在2.6.4中展示。
相关文章推荐
- ubuntu12.04LTS+Qt4.8.6+opencv2.4.9
- 老李分享:qtp自动化测试框架赏析-关键字自动化测试框架
- QTP自动化测试培训:描述编程之WebElement
- qt中qDebug()无法输出解决办法
- QT 编译问题
- 设置Qt应用程序图标及应用程序名
- QTreeView 限制特定的深度、特定深度下的列 是否可以编辑
- 无法定位程序输入点strnlen于动态链接库msvcrt.dll上
- VS2010下QT的简单使用
- Ⅰ.2.6.3 如何测试Item Views、Item Widgets 和 Models 中的Items (Qt 4)
- Qt核心剖析: moc
- Qt读取和保存GB2312编码(Qt4)
- Qt 程序在 windows 下的发布
- Qt显示界面旋转
- qt相关知识点
- QT生成跨平台可执行文件
- Qt动画框架设计飞入-消失特效
- Qt动画框架的学习
- QT解决中文乱码显示问题
- Qt中的事件