Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > QtCreator


Автор: Remiznik 17.3.2009, 14:12
это для меня новая среда разработки так что хотелось бы разобраться в некоторых вопросах .... и постораюсь все интересуюшие вопросы задавать в этой теме ! наддеюсь кто уже разобрался мне подскажит )

1. В QT Disenger  была удобная штука оконо отражаюшая все сигналы и подключёния ! Тут я нашол только F3 с помошью которой можно только подключать но как увидеть список всех подключений на форме и отредактировать его ? 

2. Не понятно както с кодировкой простой код вывода строки QString с русскими символами выдаёт какуюто ерунду ! Там есть окно редоктирования кодировки но вот какю кодировку выбрать я незнаю ..несколько известных мне попробовал но всёравно выдаётся ерунда !

3. Проблемы работы с STL  какието веши проходят нармально а какието не работают хотя тот же самый код в 4.4.3+ msv08 работает нармально ! предпологаю дело в компиляторе который устанавливаеться по дефолту !

от сюда следуюший вопрос !

4. Как я понял сборку проводит компилятор win32-g++ который установился в месте с SDK  ! Можно ли его канибуть поменять ? сборка QT проводилась тем компилятором что установился из SDK !

Автор: just_geek 17.3.2009, 14:25
Цитата
3. Проблемы работы с STL  какието веши проходят нармально а какието не работают хотя тот же самый код в 4.4.3+ msv08 работает нармально ! предпологаю дело в компиляторе который устанавливаеться по дефолту !

гм, а зачем стл, если есть кутишные контейнеры? smile

Цитата

4. Как я понял сборку проводит компилятор win32-g++ который установился в месте с SDK  ! Можно ли его канибуть поменять ? сборка QT проводилась тем компилятором что установился из SDK !

Поидее сборка должна выполняться тем компилятором который прописан QMAKESPEC

Автор: Remiznik 17.3.2009, 14:30
Цитата(just_geek @ 17.3.2009,  14:25)
гм, а зачем стл, если есть кутишные контейнеры? smile

мне кажется использовать STL както удобнее так как я в QT создаю только интерфейс .. а основная програма нпаисана на с++ и STL .... мне так удобнее работать )

на счот компилятора я так вобшемто и думал но надеился что можно както сменить его !!! значит чтоб сменить компилятор нужно пересобирать всю QT ?

Автор: just_geek 17.3.2009, 14:41
вот как раз с стл проблемы могут из за различий в реализации в разных компиляторах.

Цитата

на счот компилятора я так вобшемто и думал но надеился что можно както сменить его !!! значит чтоб сменить компилятор нужно пересобирать всю QT ?

именно

p.s. можешь конечно переписать код, использующий stl, чтобы компилировалось в мингв

Автор: SABROG 17.3.2009, 20:38
Тогда уж действительно stlport юзать или boost. Хотя я проблем не вижу, чтобы перевести Qtшные контейнеры в stl'ные.

Автор: Remiznik 17.3.2009, 21:31
а по первым двум вопросам некто нечего незнает ? (

Автор: Arch1S 17.3.2009, 21:49
Цитата(Remiznik @  17.3.2009,  15:12 Найти цитируемый пост)
2. Не понятно както с кодировкой простой код вывода строки QString с русскими символами выдаёт какуюто ерунду ! Там есть окно редоктирования кодировки но вот какю кодировку выбрать я незнаю ..несколько известных мне попробовал но всёравно выдаётся ерунда !

может быть Pango поможет

Автор: just_geek 17.3.2009, 22:10
Цитата

2. Не понятно както с кодировкой простой код вывода строки QString с русскими символами выдаёт какуюто ерунду ! Там есть окно редоктирования кодировки но вот какю кодировку выбрать я незнаю ..несколько известных мне попробовал но всёравно выдаётся ерунда !

не совсем понял о чем ты. Можно как то поподробнее?

А в креаторе я пока ничего не дизайнил smile

Автор: Remiznik 17.3.2009, 22:15
могу набросать кодик ))
Код

QString temp="русские буквы";
ui->textEdit->append(temp);

на выходе в textEdit.... аббро кадабра какаято ! а англиские символы понимает нармально ! 
думаю дело в кодировке !

Автор: just_geek 17.3.2009, 22:24
ну тут похоже проблема в том что у тебя файл сохранен в кодировке windows-1251. Можно кодек установить, либо исходники в утф перегнать (если не ошибаюсь).

Автор: Remiznik 17.3.2009, 22:53
вобшем в QtCreator есть фича Select Encoding ... там можно выбрать в какой кодировке сохронять фыел !
сохранил UTF-8 но всёравно выводит бред ! А если сохранять UTF-32 насыпает какието непонятные ошибки почти в каждой строке !

Автор: just_geek 17.3.2009, 22:58
утф32 это что-то махнул не глядя ) должен быть 16
лучше воспользуйся
QTextCodec::setCodecForCStrings(QTextCodec::codeForName("windows-1251"));

должно заработать вроде smile

Автор: SABROG 18.3.2009, 00:05
Мое личное мнение - все тексты, ошибки и прочее - на английском. Потом это переводится и финита ля комедия.

Автор: Remiznik 18.3.2009, 00:34
да ! но например путь к файлу нужно получить а он лежит в папке Мои Документы и если не правельно распознаёт руские буквы путь к файлу будет не верен и его не открыть !

Автор: SABROG 18.3.2009, 00:56
Цитата(Remiznik @ 18.3.2009,  00:34)
да ! но например путь к файлу нужно получить а он лежит в папке Мои Документы и если не правельно распознаёт руские буквы путь к файлу будет не верен и его не открыть !

У меня одно время стояла английская винда, там небыло никаких "Мои Документы". Это уже должно заставить задуматься о том, что не стоит жестко все прописывать в исходниках.

Автор: Remiznik 18.3.2009, 01:10
в том то и прикол что я жёстко не прописываю в исходниках ! просто я же незнаю где пользователь будет хранить фаел ? и если он попроует загрузить из папки с рускими буквами у него нечерта не получится такчто приходится работать и с рускими буквами !

Автор: SABROG 18.3.2009, 11:49
Всё зависит от источника текста. Например, если использовать QFileDialog  и пользователь выберет папку с русским названием, то проблемы не будет, т.к. API возвратит текст в Unicode, а не cp1251.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)