Russian Qt Forum
Августа 26, 2025, 19:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Создание компонентов (QWidgetPlugin) для Designer (qt 3.3.3)  (Прочитано 4319 раз)
remach
Гость
« : Июля 03, 2007, 14:33 »

Занимаюсь созданием визуальных плагинов для Designer. Есть пара вопросов:

1) Как в компаненте определить создан он под дизайнером или уже готовое приложение?
2) Как сделать свою форму для редактирование компонента? (Например как для редактирования колонок в QTable по двойному клику выскакивает меню Edit Table )
2.1) Как сделать форму редактирования свойства?
3) Как принудительно сохранить свойство в файл или пометить его измененным (в дизайнере выделяется черным шрифтом)?

Буду весьма признателен за помощь.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Января 11, 2008, 15:00 »

Занимаюсь созданием визуальных плагинов для Designer. Есть пара вопросов:

1) Как в компаненте определить создан он под дизайнером или уже готовое приложение?
2) Как сделать свою форму для редактирование компонента? (Например как для редактирования колонок в QTable по двойному клику выскакивает меню Edit Table )
2.1) Как сделать форму редактирования свойства?
3) Как принудительно сохранить свойство в файл или пометить его измененным (в дизайнере выделяется черным шрифтом)?

Буду весьма признателен за помощь.

Смотри пример - $(QTDIR)/examples/designer/taskmenuextension
Это пример из qt4.
Подобноенаверно есть и в qt3.
« Последнее редактирование: Января 11, 2008, 15:02 от Mikhail » Записан
gislinux
Гость
« Ответ #2 : Января 28, 2008, 13:00 »

Я определяю этап дизайна через функцию QwidgetPlugin::create( const QString &key, QWidget* parent, const char* name )
Пример:
QWidget* QDMapComponentsPlugin::create( const QString &key, QWidget* parent, const char* name )
{
    if ( key == "QDMapView" )
    {
        QWidget* w = 0;

        printf("Этап дизайна!\т")
          w = new QDMapView( parent, name );
   
   return w;
    }
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.022 секунд. Запросов: 19.