Re: MDI & QT best practices
От: MTD https://github.com/mtrempoltsev
Дата: 04.04.12 10:43
Оценка: 8 (1)
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Для начала, как работать с меню (menuBar)? Есть ли возможность загрузить меню целиком? Или сборка из отдельных элементов в рантайме это нормальная практика?


Да, это нормальная практика. Что не устраивает?

SVZ>Применительно к MDI, если имеем несколько документов разного типа (например текстовый редактор и графический), как переключать меню при смене активного документа? Убивать все содержимое menuBar'а и лепить заново?


Нормальный вариант.

SVZ>Собственно, те же вопросы и по использованию QAction.


SVZ>Принято делать так?


Да.

SVZ>Или есть какие-то средства "автоматизации", не упомянутые в примерах? Типа карт сообщений в WTL/MFC?


Не в курсе, что это. Покажи, что хочется.

SVZ>Если разные документы должны обрабатывать одну и ту же команду, например "Печать", где принято создавать соответствующий QAction?

SVZ>В MainWindow? А как тогда передать обработку активному документу (использовать грядку из qobject_cast'ов)?
SVZ>Или же создавать в каждом документе свою копию QAction'а? Не будут ли они конфликтовать в этом случае?

Это не имеет отношения к Qt — это вопрос к дизайну. Пример:

class AbstractData
{
   virtual void Print() = 0;
};

void printAction()
{
   CurrentData_->Print();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.