Просмотр сообщений
|
Страниц: 1 ... 311 312 [313] 314
|
4683
|
Qt / Общие вопросы / корректное преобразование символа в системную кодировку
|
: Апреля 18, 2011, 19:34
|
Здравствуйте. Есть ли универсальный способ преобразовать символ в текущую кодировку системы зная его код? Пример: надо преобразовать символ с кодом 0xFF (не юникод!). В win-1251 это будет символ 'я' (юникод 044F), а в MacRoman - 'ˇ' (юникод 02C7). Уже по-всякому крутил и QTextCodec, и toLocal8Bit() - и все не то, постоянно выдает мне только юникод 00FF (или вообще ничего). Понимаю, что можно сделать через #ifdef, но хотелось бы универсальный способ. З.Ы. ну и еще надо этот символ вывести через QDataStream. там постоянно мне выдает utf-8 его представление - C3BF. но тут можно обойтись и с помощью quint8(0xFF) 
|
|
|
4686
|
Qt / Общие вопросы / Re: Undefined symbols при компиляции
|
: Апреля 17, 2011, 13:35
|
вернул определение статических переменных в хедер и попробовал собрать через хкод. я и не удивился особо. версия gcc 4.2.1 (i686-apple-darwin10-gcc-4.2.1). Build QD2CharRenamer of project QD2CharRenamer with configuration Debug
Ld build/QD2CharRenamer.build/Debug/QD2CharRenamer.build/Objects-normal/i386/QD2CharRenamer normal i386 cd /Developer/Projects/Qt/QD2CharRenamer setenv MACOSX_DEPLOYMENT_TARGET 10.4 /Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -L/Developer/Projects/Qt/QD2CharRenamer/build/Debug -L/Developer/Qt-4.7.2/lib -L/Developer/Qt-4.7.2/lib -F/Developer/Projects/Qt/QD2CharRenamer/build/Debug -filelist /Developer/Projects/Qt/QD2CharRenamer/build/QD2CharRenamer.build/Debug/QD2CharRenamer.build/Objects-normal/i386/QD2CharRenamer.LinkFileList -mmacosx-version-min=10.4 -headerpad_max_install_names -L/Developer/Qt-4.7.2/lib -F/Developer/Qt-4.7.2/lib -L/Developer/Qt-4.7.2/lib -F/Developer/Qt-4.7.2/lib -framework QtGui -framework QtCore -o /Developer/Projects/Qt/QD2CharRenamer/build/QD2CharRenamer.build/Debug/QD2CharRenamer.build/Objects-normal/i386/QD2CharRenamer
Undefined symbols: "QD2CharRenamer::newNameOffset", referenced from: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr) "QD2CharRenamer::oldNameOffset", referenced from: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr) ld: symbol(s) not found collect2: ld returned 1 exit status
Ld build/QD2CharRenamer.build/Debug/QD2CharRenamer.build/Objects-normal/ppc/QD2CharRenamer normal ppc cd /Developer/Projects/Qt/QD2CharRenamer setenv MACOSX_DEPLOYMENT_TARGET 10.4 /Developer/usr/bin/g++-4.2 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -L/Developer/Projects/Qt/QD2CharRenamer/build/Debug -L/Developer/Qt-4.7.2/lib -L/Developer/Qt-4.7.2/lib -F/Developer/Projects/Qt/QD2CharRenamer/build/Debug -filelist /Developer/Projects/Qt/QD2CharRenamer/build/QD2CharRenamer.build/Debug/QD2CharRenamer.build/Objects-normal/ppc/QD2CharRenamer.LinkFileList -mmacosx-version-min=10.4 -headerpad_max_install_names -L/Developer/Qt-4.7.2/lib -F/Developer/Qt-4.7.2/lib -L/Developer/Qt-4.7.2/lib -F/Developer/Qt-4.7.2/lib -framework QtGui -framework QtCore -o /Developer/Projects/Qt/QD2CharRenamer/build/QD2CharRenamer.build/Debug/QD2CharRenamer.build/Objects-normal/ppc/QD2CharRenamer
Undefined symbols: "QD2CharRenamer::newNameOffset", referenced from: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr) "QD2CharRenamer::oldNameOffset", referenced from: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr) ld: symbol(s) not found collect2: ld returned 1 exit status
|
|
|
4687
|
Qt / Общие вопросы / Re: Undefined symbols при компиляции
|
: Апреля 17, 2011, 11:29
|
У меня компилится нормально под любую архитектуру (Mac, компилятор Xcode)
у хкода есть свой компилятор?.. у меня gcc 4.2, 64-битная ОС (если это имеет значение). а ты чем компилировал?
|
|
|
4688
|
Qt / Общие вопросы / Re: Undefined symbols при компиляции
|
: Апреля 16, 2011, 17:12
|
я как-то пытался статическую переменную типа QString определить прямо в классе - вот там компилятор ругался, а инты я думал можно  большое спасибо, теперь буду знать! а почему ж тогда на другие статические переменные не ругается, а только на эти?
|
|
|
4690
|
Qt / Общие вопросы / Re: Undefined symbols при компиляции
|
: Апреля 16, 2011, 16:26
|
та вроде как все нормально там. специально еще раз пересоздал проект - все то же. вот что пишет терминал если пользоваться им для сборки: Bash kambala-macbook:QD2CharRenamer kambala$ env TERM_PROGRAM=Apple_Terminal TERM=xterm-color SHELL=/bin/bash TMPDIR=/var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-/ Apple_PubSub_Socket_Render=/tmp/launch-EJL2Fz/Render TERM_PROGRAM_VERSION=273.1 OLDPWD=/Users/kambala USER=kambala COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/tmp/launch-eXRCH4/Listeners __CF_USER_TEXT_ENCODING=0x1F5:7:49 PATH=/Developer/Qt/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin PWD=/Developer/Projects/Qt/QD2CharRenamer SHLVL=1 HOME=/Users/kambala LOGNAME=kambala LC_CTYPE=UTF-8 DISPLAY=/tmp/launch-TaNfCL/org.x:0 SECURITYSESSIONID=6006b6 _=/usr/bin/env kambala-macbook:QD2CharRenamer kambala$ qmake kambala-macbook:QD2CharRenamer kambala$ make /Developer/Qt/bin/uic qd2charrenamer.ui -o ui_qd2charrenamer.h g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o main.o main.cpp g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o qd2charrenamer.o qd2charrenamer.cpp /Developer/Qt/bin/moc -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -D__APPLE__ -D__GNUC__ qd2charrenamer.h -o moc_qd2charrenamer.cpp g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o moc_qd2charrenamer.o moc_qd2charrenamer.cpp /Developer/Qt/bin/rcc -name qd2charrenamer qd2charrenamer.qrc -o qrc_qd2charrenamer.cpp g++ -c -pipe -g -gdwarf-2 -arch i386 -arch ppc -Wall -W -isysroot /Developer/SDKs/MacOSX10.5.sdk -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../Qt/mkspecs/macx-g++ -I. -I../../../Qt/lib/QtCore.framework/Versions/4/Headers -I../../../Qt/include/QtCore -I../../../Qt/lib/QtGui.framework/Versions/4/Headers -I../../../Qt/include/QtGui -I../../../Qt/include -I. -I. -F/Developer/Qt/lib -o qrc_qd2charrenamer.o qrc_qd2charrenamer.cpp g++ -headerpad_max_install_names -arch i386 -arch ppc -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -o QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer main.o qd2charrenamer.o moc_qd2charrenamer.o qrc_qd2charrenamer.o -F/Developer/Qt/lib -L/Developer/Qt/lib -framework QtGui -L/Developer/Qt/lib -F/Developer/Qt/lib -framework QtCore Undefined symbols for architecture i386: "QD2CharRenamer::newNameOffset", referenced from: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr) "QD2CharRenamer::oldNameOffset", referenced from: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr) ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status Undefined symbols for architecture ppc: "QD2CharRenamer::newNameOffset", referenced from: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr) "QD2CharRenamer::oldNameOffset", referenced from: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr) ld: symbol(s) not found for architecture ppc collect2: ld returned 1 exit status lipo: can't open input file: /var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-//ccvDyjHA.out (No such file or directory) make: *** [QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer] Error 1
|
|
|
4692
|
Qt / Общие вопросы / Undefined symbols при компиляции
|
: Апреля 16, 2011, 12:54
|
Здравствуйте. Столкнулся с проблемой - код под Mac OS X отказывается компилироваться в режиме debug (но режим release, а также под виндой, компилируется успешно). Выводится такая ошибка: Undefined symbols for architecture i386: "QD2CharRenamer::newNameOffset", referenced from: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr) "QD2CharRenamer::oldNameOffset", referenced from: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr) ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status Undefined symbols for architecture ppc: "QD2CharRenamer::newNameOffset", referenced from: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13newNameOffsetE$non_lazy_ptr) "QD2CharRenamer::oldNameOffset", referenced from: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr in qd2charrenamer.o (maybe you meant: __ZN14QD2CharRenamer13oldNameOffsetE$non_lazy_ptr) ld: symbol(s) not found for architecture ppc collect2: ld returned 1 exit status lipo: can't open input file: /var/folders/Y-/Y-+o-8ZUEUy-H0o+5VzAqU+++TI/-Tmp-//cc4A23Ll.out (No such file or directory) make: *** [QD2CharRenamer.app/Contents/MacOS/QD2CharRenamer] Error 1 make: Leaving directory `/Developer/Projects/Qt/QD2CharRenamer-build-desktop' Процесс "/usr/bin/make" завершился с кодом 2. Возникла ошибка при сборке проекта QD2CharRenamer (цель: Настольный компьютер) Во время выполнения сборки на этапе "Сборка" Пробовал на 4.6.3 и 4.7.2, обе собраны в режиме -debug-and-release. Другие проекты (как universal, так и нет) собираются и запускаются в режиме debug нормально. Две переменные, которые указаны в ошибке, объявлены так: C++ (Qt) public: static const int checksumOffset = 12, newNameOffset = 20, maxNameLength = 15, versionOffset = 4, oldNameOffset = 8;
а используются newNameOffset и oldNameOffset лишь в одном месте в коде: C++ (Qt) private: int nameOffset() const { return isChecksumPresent() ? newNameOffset : oldNameOffset; }
Пробовал убирать const у этого метода, перемещать реализацию в cpp файл, дописывать к переменным имя_класса:: - ничего не помогло. Подскажите пожалуйста как это исправить.
|
|
|
4694
|
Qt / Пользовательский интерфейс (GUI) / Авторесайз виджета в зависимости от размера лейбла
|
: Апреля 10, 2011, 13:37
|
Здравствуйте. Есть виджет, в котором есть QFormLayout, внутри которого несколько элементов, в т.ч. и QLabel справа. Надо сделать так, чтоб виджет автоматически подгонял свой размер под длину этого QLabel'a.
Пробовал вызывать resize(sizeHint()) виджета сразу после присваивания текста лейблу - не помогает.
Для лейбла установлена политика Expanding, для QFormLayout - ExpandingFieldsGrow. Виджету ставил Expanding, Preferred и Maximum - не помогло.
Вообще, честно говоря, я с этими политиками до сих пор полностью и не разобрался, хотя уже сколько раз про них читал и в ассистенте и в книжках. Может у кого есть толковая статья по ним? Буду премного благодарен.
|
|
|
4695
|
Qt / Печать / печать в файл в Mac OS X
|
: Октября 07, 2010, 22:03
|
пытаюсь что-либо напечатать в файл pdf или ps на Mac OS X (родные функции) - ни в какую не хочет, всегда выдает в консоль QPainter::begin(): Returned false для изображений, а для текстовых документов вообще ничего не говорит - просто не печатает. пробовал как в своем коде, так и в примерах. в винде и линуксе все прекрасно работает. может кто знает как это заставить работать? на всякий случай код: C++ (Qt) QGraphicsScene *paintScene; ... QPrinter printer(QPrinter::HighResolution); if (QPrintDialog(&printer, this).exec() == QDialog::Accepted) { QPainter painter(&printer); if (painter.isActive()) { painter.setRenderHint(QPainter::Antialiasing); paintScene->render(&painter); } else QMessageBox::critical(this, appName, tr("Unable to print image")); }
|
|
|
|
|