crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Виджет-контейнер
fantom
  опции профиля:
сообщение 10.4.2009, 15:45
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 47
Регистрация: 29.1.2009
Пользователь №: 515

Спасибо сказали: 1 раз(а)




Репутация:   1  


Возникла необходимость сделать виджет-контейнер. По сути это обычный виджет в котором могут находится другие виджеты вместе со своими дочерними виджетами. Работа с ним будет происходить примерно следующим образом: в дизайнере мы переносим мышкой необходимый виджет на виджет-контейнер, и он определяет типы объектов которые на нем находятся(все они наследники от QWidget) и по команде add добавляет внутри себя новый набор виджетов который является клоном того что положили в дизайнере.
Вот тут наглядно что я хочу получить(в упрощенном варианте).
Прикрепленное изображение

Основная проблема в определении типов всех дочерних виджетов виджета-контейнера. Понятно что надо работать с шаблонами c++ но как? Может кто может что подсказать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
fantom
  опции профиля:
сообщение 10.4.2009, 17:09
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 47
Регистрация: 29.1.2009
Пользователь №: 515

Спасибо сказали: 1 раз(а)




Репутация:   1  


Вообще у меня задача стоит клонировать и мои собственные виджеты, которые сделаны как плагины дизайнера.

Впринципе т,к, виджетов не очень много можно сделать case. Но этого бы очень не хотелось бы.

Появилась одна идея,, Но для этого нужно будет переопределять все элементы которые необходимо клонировать. Как то так..
class MyClass: public QWidget
{
MyClass(QWidget* parent)
    QWidget* clone(QWidget* parent)
    {
        return MyClass( parent );
    }
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- fantom   Виджет-контейнер   10.4.2009, 15:45
- - Litkevich Yuriy   Цитата(fantom @ 10.4.2009, 19:45) Вот тут...   10.4.2009, 15:55
- - fantom   Ну фактически слот add который описан 1 раз в коде...   10.4.2009, 15:57
- - Litkevich Yuriy   Цитата(fantom @ 10.4.2009, 19:57) он долж...   10.4.2009, 16:03
- - fantom   По определению на этот элемент можно класть только...   10.4.2009, 16:07
- - kuler   шаблоны тут врядли причем, достаточно обычного swi...   10.4.2009, 16:13
- - Litkevich Yuriy   Так. Имеется в дизайнере mainForm (QWidget) для не...   10.4.2009, 16:15
- - fantom   Проблема в том что внутри того виджета который мы ...   10.4.2009, 16:21
- - Litkevich Yuriy   Цитата(fantom @ 10.4.2009, 20:21) Как тех...   10.4.2009, 16:24
- - fantom   Да согласен. До этого тоже дошел. А вот как вызват...   10.4.2009, 16:28
- - Litkevich Yuriy   Первое, что приходит в голову по поводу клонирован...   10.4.2009, 16:38
- - fantom   QMetaObject::newInstance? Это в какой версии qt? У...   10.4.2009, 16:41
- - Litkevich Yuriy   Цитата(fantom @ 10.4.2009, 20:41) Ясно.. ...   10.4.2009, 16:43
- - SABROG   Сейчас речь идет о стандартных виджетах Qt или о с...   10.4.2009, 16:48
- - Litkevich Yuriy   Цитата(SABROG @ 10.4.2009, 20:48) Сейчас ...   10.4.2009, 16:49
- - fantom   Вообще у меня задача стоит клонировать и мои собст...   10.4.2009, 17:09
- - igor_bogomolov   Цитата(fantom @ 10.4.2009, 17:21) Как тех...   10.4.2009, 22:50
- - Litkevich Yuriy   igor_bogomolov, вся эта процедура нужна для того, ...   10.4.2009, 23:01
- - igor_bogomolov   Цитата(Litkevich Yuriy @ 11.4.2009, 0:01)...   10.4.2009, 23:14
- - igor_bogomolov   Цитата(SABROG @ 10.4.2009, 17:48) возможн...   11.4.2009, 0:52
|- - SABROG   Цитата(igor_bogomolov @ 11.4.2009, 1:52) ...   11.4.2009, 8:19
- - fantom   igor_bogomolov спасибо за решение проблемы. Как я ...   13.4.2009, 9:56
- - fantom   Еще вопрос. Каким образом при такой схеме обращать...   13.4.2009, 10:46
- - igor_bogomolov   Я лишь предложил способ как клонировать часть Gui....   13.4.2009, 11:20
- - fantom   Все разобрался. Используя findChildren<QWidget*...   13.4.2009, 11:32


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.10.2024, 23:29