Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Hordi от Июнь 26, 2006, 13:36



Название: Проблема с tr
Отправлено: Hordi от Июнь 26, 2006, 13:36
Из своего старого рабочего проекта перенес класс, наследник QDialog, в библиотеку. В главной программе объявляю классы-наследники от базового так:

class CXDialog : public qe::CDialog{
    Q_OBJECT
public:
...
};

Проблема в том, что при использовании lupdate для *.pro-файла все tr-строки не видны. Если использовать через qApp->translate, то все нормально, но не хотелось бы ворошить весь проект - строк достаточно много.
Подскажите правильное решение. Спасибо.


Название: Проблема с tr
Отправлено: Asaphus_Expansus от Июнь 26, 2006, 17:55
Нужно видеть твой .pro


Название: Проблема с tr
Отправлено: Hordi от Июнь 26, 2006, 18:57
.pro содержит только HEADERS и SOURCES,
типа
HEADERS = application.h \
                  regdialog.h

HEADERS = application.cpp \
                  regdialog.cpp


Название: Проблема с tr
Отправлено: Asaphus_Expansus от Июнь 26, 2006, 19:01
а tr() где? Те которые не видны?


Название: Проблема с tr
Отправлено: Hordi от Июнь 26, 2006, 20:16
YRegdialog (объявление в regdialog.h) наследуется от XRegdialog (объявлен в x.h из *.so-библиотеки), tr в regdialog.cpp...
Ранее XRegdialog не было, а YRegdialog сразу шло от QDialog, затем, поскольку в нескольких проектах шел похожий код, я создал базовый класс XRegdialog и вынес его в отдельную либу с неймспейсом.