Я хочу чтобы пользователь например в QLineEdit вбивал имя класса (к примеру) QPushButton. А прога считывала имя класса и создавала объект по этому имени класса. Ну либо могла обращаться к статическим функциям этого класса. Хотя может я и херней занимаюсь. Просто захотелось написать программульку, которая будет выводить иерархию классов в Qt.
Делаю так
QTextEdit * textEdit = new QTextEdit;
QPushButton * b = new QPushButton; // подопытный
QMetaObject * x = b->metaObject();
textEdit->append(x->className());
while (x->superClass())
{
x = x->superClass();
textEdit->append(x->className());
}
В коде возможны ошибки, так как инет на другом компе и пишу по памяти.
Короче для QPushButton'a она мне выводит список:
QPushButton
QAbstractButton
QWidget
QObject
Вот собсвенно и вопрос. Правильно ли я делаю, есть ли другие способы сделать то что мне нужно? Как вывести всю иерархию классов (ведь к примеру QWidget наследник не только QObject, но и QPaintDevice)?