sutterp
18-10-2001, 10:16
Ja, ich weiss, heutzutage kann man beides zugleich sein, dies ist genau mein problem.
Ich versuche ein QT form automatisch abzuarbeiten, dazue moechte ich widget->queryList benuetzen. Das ganze lauft soweit mit einer ausnahme, QCombobox. Object->isA("QCombobox") gibt immer true zurueck.
Sicherlich kann ein object nicht eine QCombobox UND ein QLineEdit zugleich sein, eine QCombobox kann zwar ein QLineEdit beinhalten, aber est ist dann halt immer noch
eine QCombobox und nicht ein QLineEdit.
Wer hilft mir auf die spruenge?
QObjectList * objList = topLevelWidget()->queryList(0);
QObjectListIt it( *objList );
QObject * obj;
while ( (obj=it.current()) != 0 )
{
++it;
objName=(obj->name());
if (obj->isA("QLineEdit"))
((QLineEdit*)obj)->setText("I am a LineEdit");
if (obj->isA("QLabel"))
((QLabel*)obj)->setText("I am a QLabel");
if (obj-isA("QComboBox"))
QMessageBox :: critical(0,"Whatisit","COMBOBOX");
}
delete objList; // delete the list, not the objects
Umgebung:
Suse Linux V7.1
KDevelop 1.3
QTDesigner 2.2.3
Vielen Dank
Peter
Ich versuche ein QT form automatisch abzuarbeiten, dazue moechte ich widget->queryList benuetzen. Das ganze lauft soweit mit einer ausnahme, QCombobox. Object->isA("QCombobox") gibt immer true zurueck.
Sicherlich kann ein object nicht eine QCombobox UND ein QLineEdit zugleich sein, eine QCombobox kann zwar ein QLineEdit beinhalten, aber est ist dann halt immer noch
eine QCombobox und nicht ein QLineEdit.
Wer hilft mir auf die spruenge?
QObjectList * objList = topLevelWidget()->queryList(0);
QObjectListIt it( *objList );
QObject * obj;
while ( (obj=it.current()) != 0 )
{
++it;
objName=(obj->name());
if (obj->isA("QLineEdit"))
((QLineEdit*)obj)->setText("I am a LineEdit");
if (obj->isA("QLabel"))
((QLabel*)obj)->setText("I am a QLabel");
if (obj-isA("QComboBox"))
QMessageBox :: critical(0,"Whatisit","COMBOBOX");
}
delete objList; // delete the list, not the objects
Umgebung:
Suse Linux V7.1
KDevelop 1.3
QTDesigner 2.2.3
Vielen Dank
Peter