Название: Cуществует ли в Qt класс для задания типа класса? Отправлено: billy4685 от Март 11, 2015, 11:16 Здравствуйте, господа форумчане. Прошу меня извенить, за столь некоректное название темы. Не знал как правильно поставить вопрос. Но попробую объяснить на небольшом примере чего я хоу добиться. Пусть к примеру у нас есть виджет, и на основании его мы будем создавать виджеты разных типов. Меня интерисует вопрос, можно ли в данном случаи создать некий класс, которому можно будет задавать тип одного из стандартных классов Qt, для дальнейшего его использования в качестве типа нового создаваемого виджета. Ну к примеру пусть этот класс назовем Type. Тогда пример кода будет выглядеть следующим образом:
Код: QWidget *wgt; Название: Re: Cуществует ли в Qt класс для задания типа класса? Отправлено: Пантер от Март 11, 2015, 11:23 https://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%B0%D1%8F_%D1%84%D0%B0%D0%B1%D1%80%D0%B8%D0%BA%D0%B0_%28%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29
Название: Re: Cуществует ли в Qt класс для задания типа класса? Отправлено: Igors от Март 11, 2015, 12:54 Код: wgt =(QWidget *) new type((QWidget*)parent); Код
Название: Re: Cуществует ли в Qt класс для задания типа класса? Отправлено: billy4685 от Март 11, 2015, 13:44 Цитировать По идее нет, т.к. этого нет в языке. Нельзя создать "нечто", Ваш type должен быть точно известен компилятору на момент создания. др словами это обязательно известный класс/тип. Но никто не мешает делать напр так Спасибо за ответ) но увы это никак не укоротит мой код. Просто если бы в Qt было что-то подобное класу PtWidgetClassRef_t и и методу PtCreateWidget(PtWidgetClassRef_t *class, PtWidget_t *parent, unsigned n_args, PtArg_t const *args ) как Photon Application Builder его б можно было значительно уменьшить.Код
Название: Re: Cуществует ли в Qt класс для задания типа класса? Отправлено: GreatSnake от Март 11, 2015, 15:13 См. QUiLoader::createWidget().
Название: Re: Cуществует ли в Qt класс для задания типа класса? Отправлено: Fregloin от Март 12, 2015, 11:18 забудьте про фотон, тут все иначе.
почитайте про шаблон фабрики и фабричные методы.. Название: Re: Cуществует ли в Qt класс для задания типа класса? Отправлено: billy4685 от Март 12, 2015, 13:37 всем спасибо за ответы) буду читать и разбираться.
Название: Re: Cуществует ли в Qt класс для задания типа класса? Отправлено: RedDog от Март 12, 2015, 14:33 То, что хочется называется метапрограммированием, в плюсах с этим беда, Qt в общем то тоже не сильный помощник в этом, т.к сам на плюсах писан.
|