Начал изучать Qt и вот в процессе программирования стали возникать вопросы. Буду очень благодарен, если поможете с ответами. :)
1. В GTK при присоединении обработчика к сигналу можно передать опциональный параметр, а в gtkmm даже полноценный объект. В Qt же единственное, что мне удалось найти для решения подобной проблемы - это QSignalMapper. Есть ли какие-нибудь другие средства?
2. Ребята из Nokia в документации говорят использовать qmake и переводы хранить в *.ts-файлах, но вот если посмотреть на KDE-приложения, то оказывается, что там повсюду используется cmake + *.po. Т. е. если я сегодня напишу приложение в Qt-стиле, то если в последствии захочется внедрить в него функционал KDE, у меня возникнут проблемы. Может быть кто-нибудь знает какую-нибудь хорошую HOWTO-статью по этому поводу, в которой подробно разъясняется, чем обусловлен данный выбор и т. п? Также в сторону *.po-файлов есть еще одно преимущество - их поддерживает Launchpad, а *.ts-файлы - нет, или я не прав, и он все-таки позволяет коллективно переводить *.ts-файлы?
3. При взаимодействии с сетью, когда происходит какая-либо ошибка, можно получить ее строковое значение при помощи QNetworkReply::errorString(), но эта строка будет на английском языке. Можно ли как-нибудь получить переведенный вариант? Переводы Qt я подключил, но это не помогает:
QTranslator qtTranslator;
qtTranslator.load("qt_" + QLocale::system().name(),
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&qtTranslator);