I am trying to simulate a mouse click on a QMenu item from a QMenuBar, for example clicking on "Save As" QAction using the QTestLib framework.
I am triyng this under Windows XP 32 bit and Qt 5.0.2.
Any Ideas?
I am trying to simulate a mouse click on a QMenu item from a QMenuBar, for example clicking on "Save As" QAction using the QTestLib framework.
I am triyng this under Windows XP 32 bit and Qt 5.0.2.
Any Ideas?
Probably this question is not relevant for question owner, but I suppose it could be helpful for others.
Unlike
QToolBar
,QMenu
doesn't have methodwidgetForAction
. I found a simple workaround for this case. Try popup menu withQTest::mouseClick
if nothing happens try to useQTest::keyClick(..., first_char_in_menu_tite, Qt::AltModifier)
. To simulate action execution you can navigate withQt::Key_Down
to action until you reach it and then pressQt::Key_Enter
. I suppose following code can help you to understandYou should use the QTest::mouseClick function. It will simulate the click on any QWidget. I have found that trying to click on a QMenu that causes a blocking call will not work with a unit test.