Ⅰ.2.6.5 如何测试QAction、QMenu、以及QMenuBar(Qt 4)
2015-11-18 15:58
429 查看
如果我们想检查一个菜单项的属性,可以使用Squish IDE插入验证点,或者手写代码。这里我们介绍如何写代码。
QMenus(QWidgets 也是如此)有一份QAction 对象列表。我们可以获取这个列表,使用QList API 遍历它的actions,对于每个action我们可以查询或者设置它的属性。首先我们看一个访问一个action的属性的例子,然后看一下该例依赖的自定义函数 getAction 的实现。
QMenus(QWidgets 也是如此)有一份QAction 对象列表。我们可以获取这个列表,使用QList API 遍历它的actions,对于每个action我们可以查询或者设置它的属性。首先我们看一个访问一个action的属性的例子,然后看一下该例依赖的自定义函数 getAction 的实现。
editMenu = waitForObject(":CSV Table - Unnamed.Edit_QMenu") removeAction = getAction(editMenu, "&Remove Row") test.verify(not removeAction.enabled) test.verify(not removeAction.checked) insertRowAction = getAction(editMenu, "&Insert Row") test.verify(insertRowAction.enabled) test.verify(not insertRowAction.checked)这里我们获取一个应用程序的Edit 菜单的应用,检查remove row action是否可用以及是否可选,然后insert row action是否可用以及是否可选。(通常情况下是这样的,当使用 Tcl 时,我们选择使用test.compare 函数而不使用test.verify函数)。
def getAction(widget, text): actions = widget.actions() for i in range(actions.count()): action = actions.at(i) if action.text == text: return action这个小函数获取所给widget的actions列表,然后遍历该列表知道找到符合text的action。返回对应的action(或者没找到,返回null)。
相关文章推荐
- Qt ini配置文件读写
- Qt的进度条设置
- 在Ubuntu 10.04中文版下Qt编程,使用unixODBC和FreeTDS连接MS SQL Server 2005,并且中文不出现乱码的方法
- QT中在全盘中寻找特定的文件
- QT在VS2010下的使用配置
- Ⅰ.2.6.4 如何测试 Table Widgets,以及使用外部数据文件(Qt 4)
- Qt和WPF比较---控件布局和消息响应
- 用Qt写的一个仿Windows记事本程序
- QT生成PDF文件
- qt处理浏览器问题
- Ⅰ.2.6.3.6 如何测试 QTreeViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items
- QT5中处理windows系统消息QAbstractNativeEventFilter
- VS IDE 下编译Qt 源码
- Ubuntu 15.04 安装配置 Qt + SQLite3
- Ubuntu 15.04 安装配置 Qt + SQLite3
- qt相关界面 博客 很好
- qt
- Ⅰ.2.6.3.5 如何测试 QTreeWidgets 中的 Items
- qt设置背景图片注意事项
- Qt/Embedded编译与安装