Цитата(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'ы.