maus clicks auf combo box simulieren

Alles rund um die Programmierung mit Qt
Antworten
dermoritz
Beiträge: 21
Registriert: 27. April 2009 09:37

maus clicks auf combo box simulieren

Beitrag von dermoritz »

ich versuche gearde im Rahmen eines Unit Tests Mausklicks auf einer Combo-Box bzw. einzelnen Elementen der Combo-Box zu simulieren.
ich habe 2 varianten ausprobiert, beide funzen nicht (die combo box wird bei einem Klick auf sie korrekt angezeigt):
1. die Position eines Elemnets speichern und den Klick auf dieser Position ausführen.

Code: Alles auswählen

QTest::mouseClick(comboBox,Qt::LeftButton);
QPoint point=comboBox->view()->visualRect(comboBox->model()->index(index, 0)).center();
QTest::mouseClick(comboBox->view(), Qt::LeftButton,0,point);
2. Das betreffende Element als Widget zurückgeben lassen und direkter klick aufs Widget.

Code: Alles auswählen

QTest::mouseClick(comboBox,Qt::LeftButton);	QTest::mouseClick(comboBox->view()->indexWidget(comboBox->model()->index(index,0)), Qt::LeftButton);
Die 2. Variante führt zu einem Error:
ASSERT: "widget" in file c:/Programme/qt/opensource_MinGw_4_4_2/include/QtTest/../../src/testlib/qtestmouse.h, line 76

Weiß jemand wie das korrekter Weise geht? Ich will möglichst nicht mit setCurrentIndex anrücken.
dermoritz
Beiträge: 21
Registriert: 27. April 2009 09:37

Beitrag von dermoritz »

qt support meint: das geht nicht. man muss die werte also direkt setzen.
Antworten