Ⅰ.2.6.3.3 如何测试 QTableWidgets 中的 Items
来源:互联网 发布:苹果4s越狱软件 编辑:程序博客网 时间:2024/06/07 02:42
在这个部分我们将看一看两个例子。第一个例子展示了如何设置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
tableWidget = waitForObject("{type='QTableWidget' unnamed='1' visible='1'}")tableWidget.setRowCount(4)tableWidget.setColumnCount(3)count = 0for 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 selectedSkipping 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中展示。
0 0
- Ⅰ.2.6.3.3 如何测试 QTableWidgets 中的 Items
- Ⅰ.2.6.3.1 如何测试 QListWIdgets 中的 Items
- Ⅰ.2.6.3.5 如何测试 QTreeWidgets 中的 Items
- Ⅰ.2.6.3 如何测试Item Views、Item Widgets 和 Models 中的Items (Qt 4)
- Ⅰ.2.6.3.2 如何测试 QListViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items
- Ⅰ.2.6.3.4 如何测试 QTableViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items
- Ⅰ.2.6.3.6 如何测试 QTreeViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items
- Ⅰ.2.6.6 如何测试Graphics Views、Graphics Scenes 和 Graphics Items (Qt 4)
- 如何动态删除Ext.TabPanel中的Items
- 如何动态对action bar中的items进行操作
- items属性中的元素
- python中的items方法
- Ext.TabPanel中的items详解
- Python中的iteritems()和items()
- Python3:字典中的items()函数
- 如何避免TStringList里的Items雷同
- 如何避免TStringList里的Items雷同?
- Android 如何修改默认的searchable items。
- SQLSERVER 获取手机号码归属地
- 设置dialog的大小,位置
- android游戏开发初学之SurfaceView绘制界面
- 程序启动原理
- java使用FileReader上传图片,可支持预览,支持多张上传
- Ⅰ.2.6.3.3 如何测试 QTableWidgets 中的 Items
- u3d性能优化
- 九、使用Maven创建Web应用程序项目
- JAVA 批量生成IMEI 源代码
- iOS日期的比较
- GridView网格控件
- hdu 2203 亲和串 KMP
- java程序员第十课 javaweb之request&response
- 安卓手机麦克风测试应用开发