Программирование на C++ с использованием библиотеки Qt4


с символами национальных алфавитов связан


1 // Простейшее приложение Qt4 (пустой фрейм) 2 // Кодеки 3 4 #include <QApplication>
5 #include <QMainWindow>
6 #include <QTextCodec>
7 8 int main(int argc, char *argv[]) { 9 10 QApplication app(argc, argv);
11 12 QTextCodec *codec = QTextCodec::codecForName("CP1251");
13 QTextCodec::setCodecForCStrings(codec);
14 15 QMainWindow *mw = new QMainWindow(0, Qt::Window);
16 mw->
setWindowTitle("Пустое окно Qt4");
17 mw->
resize(400, 300);
18 mw->
show();
19 20 return app.exec();
21 } Наконец, третий (наиболее предпочтительный) метод работы с символами национальных алфавитов связан с использованием специальной функции перевода tr, с помощью которой осуществляется интернационализация приложений. Подробнее этот вопрос мы обсудим позже, а пока договоримся все строковые константы, указанные в тексте программы, передавать в качестве параметра функции tr. Эта статическая функция является членом всех классов Qt, порождённых от базового класса QObject, но если, как сейчас, мы собираемся вызвать её в главной программе, а не в каком-либо методе класса, то приходится указывать какой-нибудь подходящий объект, например, QObject::tr. Для указания кодировки, используемой функцией перевода, надо создать соответствующий кодек и передать его в качестве аргумента методу setCodecForTr. Окончательный вариант нашей программы показан в листинге4.

Содержание раздела