Is there a way to get all elements like (input, label , combox) with names and regarding value?
-
Hi all,
i am searching for a way how I can get all Elements on a Widget which has focus.
So for example I have a widget with 2 labels and some boxes, the first label is just for example "NOTE:" and the second would be "some hint",
Also there are some comboboxes and input fields on this widget.So I am trying to get all element like the labels and the comoboxes with their name and the current set value.
Is this somehow possible in qt? So that i maybe get a text output of the current set input elements ?
So that the result could be:
@
label1 has value "NOTE"
label2 has value "some hint"
comboBox has value 2 selected
@Many Thanks in advance
Regards
-
Hi
Well If you make them in designer, you can access all via
ui->If you new them yourself, you could just keep the pointers around ?
else
look at
QObject::findChildrenSomething like
QList<QWidget*> mylist= parent.findChildren<QWidget*>(); foreach (const QWidget* current, mylist) { }
parent being the widget you want to work with.
But can you describe more what you have or show the program so maybe there is a better way. -
-
thanks for the replies, i will have a look into it.
So for my use case i think i need to get first the widget which ahsa focus with:
QWidget *focus = QApplication::focusWidget();
and then use yeckel 's code part
const QObjectList localChildren = focus->children(); foreach (QObject *obj, localChildren) { QLabel *label = qobject_cast<QLabel *>(obj); if(label){ qDebug() << label->text(); } QLabel *box= qobject_cast<QComboBox*>(obj); if ( box) { box->itemData(box->currentIndex()); } }
is this understanding correct?
-
-
The background behind this is that i want to have a way to automate testing of the application running.
So therefore i will have commands sending keyevents to the application and then a command to get the current screen values and get the as a XML or something similar, which than can be read by a python script for example to check if all values are set correct after the key sequence.
I am using a pad having 6 input keys (embedded) so not a full keyboard.
Do you have any better idea how to automate it?
Important is that I must be able to to get all information for the currently view on the page on the display device in a readable file format.
-
Ahh its module testing.
then it makes sense :)Well there is
http://doc.qt.io/qt-5/qtest-overview.html
Never used it so can say if its good or anything.