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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Получение указателя на виджет  (Прочитано 6089 раз)
der
Гость
« : Декабрь 07, 2007, 12:24 »

Допустим, я написал плагин к дизайнеру, содержащий виджеты MyWidget1 и MyWidget2. Открыл дизайнер, поместил по одному в окно. Виджету MyWidget1 нужен указатель на виджет MyWidget2. Как его получить:
1) MyWidget1 делает QApplication::allWidgets и находит MyWidget2 по некоторому свойству;
2) MyWidget1 наследуется от QLabel, а в дизайнере ему указывается buddy в лице MyWidget2.

Оба способа весьма извращённые, не так ли.
А есть ли другие, не подразумевающие изменение дизайнера?
Записан
Tonal
Гость
« Ответ #1 : Декабрь 07, 2007, 17:24 »

Реализовать механизм аналогичный QLabel buddy?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #2 : Декабрь 07, 2007, 22:11 »

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

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
der
Гость
« Ответ #3 : Декабрь 08, 2007, 07:32 »

Виджеты самописанные.
Собственно, сами виджеты мне нафиг не нужны. Они используются как оболочка для дизайнера.
Вообще мне нужно создать объект класса myclass1 и передать ему указатеть на объект класса myclass2. Для этого я хочу использовать дизайнер.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Декабрь 08, 2007, 11:46 »

имхо в дизайнере так не сделаешь.
дизайнер нужен тока для того, чтобы виджеты на форму набросать.
ну, а все связки - через код надо прописывать.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
der
Гость
« Ответ #5 : Декабрь 08, 2007, 15:35 »

Ну я уже как минимум два способа предложил, правда, не уверен, что с QLabel будет работать...
А есть ещё ну совсем корявый - через сигнал-слоты.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #6 : Декабрь 08, 2007, 23:47 »

да тут вопрос не в количестве способов, любую вещь можно через извраты сделать.
а в том, НАДО ЛИ оно? скорее всего, есть более верный путь решения проблемы.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #7 : Декабрь 08, 2007, 23:56 »

имхо, это ваще ошибка проектирования
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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