crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Неполная русификация QT
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 15.7.2008, 14:48
  на самом деле, у тролей много попадается сообщений необрамленных в tr(), на прогорге этот вопрос поднимался.
gogi Дата 14.7.2008, 9:02
  Tonal, разобрался уже. Я просто не знал, что такая локализация есть, пока не глянул в QTDIR/translations
Tonal Дата 9.7.2008, 7:19
  2 gogi
Точно всё забито и не меняется?
А ты русскую локализацию Qt к проге подключать пробовал?
gogi Дата 7.7.2008, 11:39
 
Цитата(void* @ 7.7.2008, 11:46) *
Цитата(gogi @ 7.7.2008, 9:42) *
QMessageBox::information (и другие статические функции из этого модуля) приводят к появлению диалога со стандартными кнопками "Ok", "Cancel" и т.д. Хотя могли бы эти надписи и меняться в зависимости от языка пользователя...

а ты пользуйся не статической функцией, а создай свой месседжбокс с нужными тебе кнопками и текст в них заключи в tr()...
дальше уже дело linguist'a...

Я в QMessageBox.h нашёл прототип функции
static int information(QWidget *parent, const QString &title,
                           const QString& text,
                           const QString& button0Text,
                           const QString& button1Text = QString(),
                           const QString& button2Text = QString(),
                           int defaultButtonNumber = 0,
                           int escapeButtonNumber = -1);

То, что нужно.
Странно, что она в хелпе не описана. Может быть оставлена для совместимости с ранними версиями?
Цитата(void* @ 7.7.2008, 11:46) *
Цитата(gogi @ 7.7.2008, 9:42) *
писать свой обработчик контекстного меню, но это всё кажется как-то сложно

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

Сложно. В других библиотеках создал какой нибудь TEdit и ничего больше не надо делать. Всё стандартное поведение устраивает. А если мне надо в программе много раз использовать этот виджет? Тут надо писать либо производный класс (какой-нить QMyLineEdit в котором заменять менюшку) и из кода создавать объекты этого класса. Но тогда QT designer не запользуешь. Задача решаема-то, конечно, но неудобно.

PS Посмотрел, "болезнью" не только QLineEdit страдает, но и другие Edit'ы.
void* Дата 7.7.2008, 10:46
 
Цитата(gogi @ 7.7.2008, 9:42) *
QMessageBox::information (и другие статические функции из этого модуля) приводят к появлению диалога со стандартными кнопками "Ok", "Cancel" и т.д. Хотя могли бы эти надписи и меняться в зависимости от языка пользователя...

а ты пользуйся не статической функцией, а создай свой месседжбокс с нужными тебе кнопками и текст в них заключи в tr()...
дальше уже дело linguist'a...
Цитата(gogi @ 7.7.2008, 9:42) *
писать свой обработчик контекстного меню, но это всё кажется как-то сложно

а мне кажется что это не так уж и сложно... почти все базовые слоты есть готовенькие, тебе остается только создать само меню с экшенами и соединить их с нужными слотами
ЗЫ тем более если тебе надо в своей программе делать другое контекстное меню(что-то добавить или убрать) то тебе так или иначе придется писать свое контекстное меню
gogi Дата 7.7.2008, 9:42
  Многие классы QT содержат в своём коде статически забитый англоязычный текст.
Примеры:
- Контекстное меню QLineEdit вызываемое по щелчку правой кнопки мыши. Здесь присутствуют "Cut", "Copy" и т.д. Я даже нашёл в исходниках библиотеки то место, где эти надписи приписываются. Конечно можно в исходниках подправить на "Вырезать", "Копировать" и т.п. или же писать свой обработчик контекстного меню, но это всё кажется как-то сложно.
- QMessageBox::information (и другие статические функции из этого модуля) приводят к появлению диалога со стандартными кнопками "Ok", "Cancel" и т.д. Хотя могли бы эти надписи и меняться в зависимости от языка пользователя...

Наверняка найдётся и ещё куча подобного, если поискать.
Так вот, как всё это дело грамотно подправить?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 12:49