我使用 itemdelegate 为树视图中的一列创建组合框。
因此在编辑单元格时,按 UP/Down 可以更改值。
但似乎我无法使用 qtest 框架模拟以下操作
QTest::keyClick(treeview_->focusWidget(), Qt::Key_Down);
QTest::keyClick(treeview_->focusWidget(), Qt::Key_Down);
QTest::keyClick(treeview_->focusWidget(), Qt::Key_Enter);
//after these code. the value of the cell should be 3.03.
上面的这些代码适用于普通的 qt 应用程序。
但它在 qtest 框架中不起作用
如果我尝试使用 qtest 框架对其进行测试,则单元格的值始终为 1.01
class MyTest: public QObject
{
Q_OBJECT
public:
...
void tst_combo_column();
...
private:
};
void MyTest::tst_combo_column()
{
...
treeview_->setCurrentIndex(idx_combo);
treeview_->edit(idx_combo);
QTest::keyClick(treeview_->focusWidget(), Qt::Key_Down);
QTest::keyClick(treeview_->focusWidget(), Qt::Key_Down);
QTest::keyClick(treeview_->focusWidget(), Qt::Key_Enter);
QVERIFY(GET_COL_VALUE("options") == "3.03"); //can not pass
}
我也尝试过鼠标点击,但遇到了同样的问题。
我的环境Qt5.5、ubuntu14.10