перевод Q_PROPERTY |
Здравствуйте, гость ( Вход | Регистрация )
перевод Q_PROPERTY |
a_goodgirl |
7.7.2010, 12:30
Сообщение
#1
|
|
Студент Группа: Участник Сообщений: 35 Регистрация: 4.6.2009 Пользователь №: 801 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо всем, кто уже отвечал на вопросы! Возможно, ответы пригодились и еще кому-то :-)
Вот такой вопрос: В неком классе есть обычные свойства, например:
реализован свой property editor, усовершенствованный собрат такого же, как в дизайнере. Имя свойства берется из QMetaProperty->name(). Как сделать, чтобы можно было задать перевод свойства? Чтобы, например, было написано "Имя файла". Может, кто-то посоветует, в какую сторону хотя бы рыть? Начальник мне посоветовал попробовать переписать lupdate и lrelease. Там много букв.. |
|
|
||
a_goodgirl |
7.7.2010, 16:25
Сообщение
#2
|
Студент Группа: Участник Сообщений: 35 Регистрация: 4.6.2009 Пользователь №: 801 Спасибо сказали: 0 раз(а) Репутация: 0 |
вы немного не понимаете сути проблемы. Речь идет совсем не о дизайнере - просто все видели в нем property editor и так проще объяснить, как он выглядит.
Классы написаны свои, пользовательские. Свойства у них могут быть какие угодно. Пользователь, который никогда дизайнера в глаза не видел и что такое qt не знает, должен видеть в приложении переведенные имена, а иначе это не имеет смысла (например, "Количество таблиц") Property Editor работает так: для каждого типа (QVariant, могут быть собственные типы) определены фабрика и менеджер, есть map, связывающий тип свойства и фабрику(менеджер). Например, свойство size имеет тип QSize. Конкретно для него релизован интерфейс QtSizePropertyManager, в котором "зашиты" width и height, и в этом локальном месте они обложены tr, поэтому мы видим "Ширина", "Высота".
Если задать свойство с именем Vasya типа QSize, то увидим в дереве то же самое Vasya Ширина Высота Речь же идет о том, что надо перевести слова size и Vasya, т.е. имена свойств, задаваемые в Q_PROPERTY. В приведенным Вами примерах (на картинках) НИ ОДНО имя свойства не переведено. property editor в общем тут совсем не при чем :-) Хотелось бы как-то задавать свойству QMetaProperty имя, обложенное tr. Например, понять, как работает макрос Q_PROPERTY - как он из строки кладет в некую структуру d класса QMetaProperty, откуда потом берется name() |
|
|
Текстовая версия | Сейчас: 21.12.2024, 3:19 |