Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Qt (Trolltech Qt, Nokia Qt, Digia Qt)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Офф сайт http://qt.digia.com/


Цитата:
Qt is a complete C++ application framework, including a class library and tools for cross-platform development

 
Qt это библиотека классов и инструментов, полностью реализованый на С++, предназначенная для создания кроссплатформенных приложений.

 
 
Доки:
http://www.opennet.ru/docs/RUS/qt3_prog/ Зеркало: http://linuxcenter.ru/lib/books/qt3/
http://qt.osdn.org.ua/
http://hardclub.donntu.edu.ua/projects/qt/pages/index.htm  
http://www.prog.org.ru/ - Qt форум
...
FAQ:
1.
 
-------
Варез
-------

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 11:23 16-01-2005 | Исправлено: JFK2005, 01:16 22-12-2012
Zumaic



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JFK2005
Чтож, спасибо. Использование 3д в 2д должно быть быстрым, если все грамотно реализовано, надо пробовать
а GDI+ задолбал, хотя вон codejock, который наверняка использует именно его, умудряется достаточно быстро прорисовываться, интересно как.

Всего записей: 136 | Зарегистр. 11-06-2008 | Отправлено: 16:00 03-04-2009 | Исправлено: Zumaic, 16:01 03-04-2009
VVS89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли какой-нибудь способ поставить под виндой qt sdk (полную, с creator'ом), не имея админских прав?  
Пробовал тупо инсталлятором, получил ошибку "Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка ..." при запуске creator'а.  
мб надо что-то в окружении прописать?
в идеале хотелось бы что-то типа portable-версии на флешку
ПС:
а что значит эта ошибка? либу какую-то найти не может?

Всего записей: 10 | Зарегистр. 12-01-2005 | Отправлено: 21:41 17-04-2009
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVS89

Цитата:
а что значит эта ошибка? либу какую-то найти не может?

Не установлен Visual C++ 2005 Redistributable 2005 или 2008.
 
Установить эти библиотеки можно только под правами админа.
 
Альтернативный вариант - собрать Qt и Creator без привязки к WinSxS:

Цитата:
Необходимо пропатчить библиотеку msvcr90.dll, прописав mov eax,1 / ret по адресу 0x21BE0. ( По этому адресу располагается начало функции _check_manifest, от которой, собственно - всё зло ).
 
В общем, для msvcr90.dll прописываем hex-редактором комбинацию байт B8 01 00 00 00 C3 по адресу 0x21BE0 (для msvcr80.dll соответствующим адресом будет 0x1D76). Компилим проект без манифеста, бросаем dll'ки в папку с программой... всё, как в старые, добрые времена. Запускаем программу, всё работает без manifest hell и vc redist'ов.
 
edit:
 
Проверено на билдах 8.0.50727.3053, 9.0.21022.8, 9.0.30729.1. Адрес _check_manifest не меняется в пределах одной версии vc++ runtime. Если он изменится в будущих билдах, не составит никаких трудов его найти. Находим первый вызов GetSystemDirectoryW, затем поднимаемся немного выше до начала функции (mov edi,edi / push ebp).
 
Само собой, для использования исправленной crt в Qt-приложениях придётся перекомпилировать Qt, прописав в файле mkspecs\win32-msvc2008\qmake.conf в строке QMAKE_LFLAGS дополнительный ключ /MANIFEST:NO.

Цитата:
Пересобрал Qt 4.4.3 следующим образом:
 
- удалил всё содержимое из файлов embed_manifest_dll.prf и embed_manifest_exe.prf (они лежат в Qt\4.4.3\mkspecs\features\win32\);
- в qmake.conf прописал QMAKE_LFLAGS = /NOLOGO /MANIFEST:NO (файл находится в директории Qt\4.4.3\mkspecs\win32-msvc2008\);
- запустил configure / nmake.
 
Сделал пробный Qt-проект из одного диалога, в настройках указал Generate Manifest: No и Embed Manifest: No. В папку с скомпилированным exe-файлом положил QtCore4.dll, QtGui4.dll, msvcp90.dll и пропатченный msvcr90.dll.
 
Всё работает без установки VC++ Redist - проверено на чистой WinXP SP3.

Метод успешно опробован и работает.

Всего записей: 2056 | Зарегистр. 26-10-2005 | Отправлено: 23:40 17-04-2009 | Исправлено: JFK2005, 23:46 17-04-2009
Kyo

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может у кого есть библиотеки или примеры работы с форматами pdf и doc на третем QT?

Всего записей: 512 | Зарегистр. 23-08-2005 | Отправлено: 08:09 09-06-2009
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла Qt 4.5.2. Changelog.

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 15:52 25-06-2009 | Исправлено: KADABRA, 18:08 25-06-2009
substrackto

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Без студии можно собрать qt с intel compiler?
Я пробовал 4.6.0 и 11.1.054, но пишет что не найден nmake, вручную доставил нмейк - вылазят ошибки.

Всего записей: 93 | Зарегистр. 25-10-2007 | Отправлено: 21:03 24-12-2009 | Исправлено: substrackto, 21:04 24-12-2009
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
substrackto

Цитата:
Без студии можно собрать qt с intel compiler?  

Компилятор Intel C++ изначально предназначен для работы в связке с Visual Studio. Т.е. ответ на ваш вопрос - нет, без студии Qt собрать не получится.

Всего записей: 2056 | Зарегистр. 26-10-2005 | Отправлено: 21:24 24-12-2009
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
substrackto
Без студии собрать можно всё, что заблагорассудится. Скорее всего, ошибка в наборе командной строки.

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 21:54 24-12-2009
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2
Поведайте миру секрет, каким образом можно собрать Qt интеловским компилятором под Windows без утилиты nmake.exe, которая поставляется вместе с Visual Studio...

Цитата:
Скорее всего, ошибка в наборе командной строки.

Само собой, перед запуском nmake нужно сделать

Код:
configure -platform win32-icc

или задать переменной окружения QMAKESPEC значение win32-icc.

Всего записей: 2056 | Зарегистр. 26-10-2005 | Отправлено: 22:05 24-12-2009 | Исправлено: JFK2005, 22:11 24-12-2009
substrackto

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я качал с сайта мс nmake 1.5. Дописал путь к ней в path.
запускаю: configure -platform win32-icc -debuge-and-release

Цитата:
 
Creating qmake...
 
Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.
 
        icl -c -Foproject.obj  -W3 -nologo -O2  -I. -Igenerators -Igenerators\unix -Igenerators\win32 -Igenerators\mac -
Igenerators\symbian  -IE:\programs\qt\200905\qt\include -IE:\programs\qt\200905\qt\include\QtCore  -IE:\programs\qt\2009
05\qt\include -IE:\programs\qt\200905\qt\include\QtCore  -IE:\programs\qt\200905\qt\src\corelib\global  -IE:\programs\qt
\200905\qt\src\corelib\xml  -IE:\programs\qt\200905\qt\mkspecs\win32-icc   -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_
LITE_COMPONENT -DQT_NODLL -DQT_NO_STL  -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD  -D
QT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_NO_PCRE -DQT_BOOTSTRAPPED  /Zc:forScope project.cpp
'icl' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'C:\Windows\system32\cmd.exe' : return code '0x1'
Stop.
 
Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.
 
        del qbitarray.obj
Could Not Find E:\programs\qt\200905\qt\qmake\qbitarray.obj
        del qbuffer.obj
Could Not Find E:\programs\qt\200905\qt\qmake\qbuffer.obj
        del qcryptographichash.obj
Could Not Find E:\programs\qt\200905\qt\qmake\qcryptographichash.obj
        del qlinkedlist.obj
Could Not Find E:\programs\qt\200905\qt\qmake\qlinkedlist.obj
        del qfsfileengine.obj
Could Not Find E:\programs\qt\200905\qt\qmake\qfsfileengine.obj
        del qfsfileengine_iterator.obj
Could Not Find E:\programs\qt\200905\qt\qmake\qfsfileengine_iterator.obj
        del qbytearray.obj
Could Not Find E:\programs\qt\200905\qt\qmake\qbytearray.obj

Всего записей: 93 | Зарегистр. 25-10-2007 | Отправлено: 22:19 24-12-2009
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
substrackto
Ваш nmake выпущен 15 лет назад...

Цитата:
Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

Самый простой выход - скачать бесплатную версию студии, и взять свежий nmake оттуда.

Цитата:
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

Всего записей: 2056 | Зарегистр. 26-10-2005 | Отправлено: 22:27 24-12-2009
substrackto

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Только что попробовал:

Цитата:
Creating qmake...
 
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.
 
        icl -c -Foproject.obj  -W3 -nologo -O2  -I. -Igenerators -Igenerators\un
ix -Igenerators\win32 -Igenerators\mac -Igenerators\symbian  -IE:\Programs\Qt\20
0905\qt\include -IE:\Programs\Qt\200905\qt\include\QtCore  -IE:\Programs\Qt\2009
05\qt\include -IE:\Programs\Qt\200905\qt\include\QtCore  -IE:\Programs\Qt\200905
\qt\src\corelib\global  -IE:\Programs\Qt\200905\qt\src\corelib\xml  -IE:\Program
s\Qt\200905\qt\mkspecs\win32-icc   -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_
LITE_COMPONENT -DQT_NODLL -DQT_NO_STL  -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG
_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD  -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_
NO_DATASTREAM -DQT_NO_PCRE -DQT_BOOTSTRAPPED  /Zc:forScope project.cpp
icl: warning #10114: Microsoft Visual C++ not found in path
project.cpp
E:\Programs\Qt\200905\qt\include\QtCore/../../src/corelib/global/qglobal.h(45):
catastrophic error: could not open source file "stddef.h"
  #include <stddef.h>
                     ^
 
compilation aborted for project.cpp (code 4)
NMAKE : fatal error U1077: 'E:\Programs\Intel\Compiler\11.1\054\Bin\ia32\icl.EXE
' : return code '0x4'
Stop.
 
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.
 
        del qbitarray.obj
Could Not Find E:\Programs\Qt\200905\qt\qmake\qbitarray.obj
        del qbuffer.obj
Could Not Find E:\Programs\Qt\200905\qt\qmake\qbuffer.obj
        del qcryptographichash.obj
Could Not Find E:\Programs\Qt\200905\qt\qmake\qcryptographichash.obj

Всего записей: 93 | Зарегистр. 25-10-2007 | Отправлено: 22:35 24-12-2009
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
substrackto

Цитата:
E:\Programs\Qt\200905\qt\include\QtCore/../../src/corelib/global/qglobal.h(45):
catastrophic error: could not open source file "stddef.h"
  #include <stddef.h>  

Т.е. не найден заголовочный файл stddef.h, который поставляется вместе с Visual C++.
 
У меня переменные окружения настроены так:

Цитата:
INCLUDE=C:\VS9\VC\ATLMFC\INCLUDE;C:\VS9\VC\INCLUDE;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include;c:\Qt\451\include\Qt
 
LIB=C:\VS9\VC\ATLMFC\LIB;C:\VS9\VC\LIB;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib;C:\Qt\451\lib
 
Path=C:\VS9\Common7\IDE;C:\VS9\VC\BIN;C:\VS9\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\VS9\VC\VCPackages;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;C:\ICC\Compiler\11.1\035\tbb\ia32\vc9\bin;C:\ICC\Compiler\11.1\035\tbb\ia32\vc8\bin;C:\ICC\Compiler\11.1\035\ipp\ia32\bin;C:\ICC\Compiler\11.1\035\lib\ia32;C:\ICC\Compiler\11.1\035\mkl\ia32\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Qt\451\bin;C:\Program Files\Microsoft SQL Server\90\Tools\bin\;C:\Program Files\TortoiseSVN\bin
 
QMAKESPEC=win32-icc
QTDIR=C:\Qt\451

Файл stddef.h находится в директории C:\VS9\VC\INCLUDE, поэтому необходимо указать путь к ней в переменной окружения INCLUDE. В поставку VC++ входит батник vcvarsall.bat, который прописывает пути и переменные окружения автоматически.

Всего записей: 2056 | Зарегистр. 26-10-2005 | Отправлено: 22:46 24-12-2009 | Исправлено: JFK2005, 23:03 24-12-2009
Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет. У меня следующий вопрос: qt 4.5.2, есть виджет QTabWidget. Но у него на каждую вкладку создается виджет для размещения других виджетов на этой вкладке. Мне нужно, чтобы вкладок было много, а содержимое на них всех одно. Пришло в голову либо переопределять некоторые методы QTabWidget - addTab и т.п. либо самому строить из QTabBar и чего-нибудь еще в качестве панели. Но может есть более простые пути?

----------
www.MyFirstSite.ru - информационный ресурс для начинающих веб-мастеров

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 11:26 03-01-2010
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jokerjar79

Цитата:
Мне нужно, чтобы вкладок было много, а содержимое на них всех одно.

Посколько содержимое одно, то и QTabWidget не нужен. Просто, как вы уже написали, QTabBar использовать.

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 13:12 04-01-2010
Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KADABRA, вручную "связать" виджеты QTabBar и, допустим, QFrame (в качестве контейнера контента) тоже непросто. QTabWidget выглядит примерно так:
 
   
 
Видно, что виджет, выступающий в качестве контейнера контента имеет закругленные углы, кроме левого верхнего угла, где расположены вкладки. Там идет плавное продолжение, также отсутствует граница между активной вкладкой и этой панелью. На макинтоше QTabWidget выглядит вообще вот так:
 
   
 
В общем, думаю, чтобы решить мою задачу, нужно переписывать QTabWidget (именно переписывать, а не создавать потомка на основе, т.к. там слишком много лишнего)

----------
www.MyFirstSite.ru - информационный ресурс для начинающих веб-мастеров

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 16:52 04-01-2010
substrackto

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В Qt Designer можно всунуть виджет в тулбар или статусбар?
 
Вручную то делается (addWidget), а в Designer никак немогу. Пробовал выстаривать HBoxLayout => morph into QWidget, но нельзя всунуть.

Всего записей: 93 | Зарегистр. 25-10-2007 | Отправлено: 00:24 07-01-2010
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jokerjar79

Цитата:
вручную "связать" виджеты QTabBar и, допустим, QFrame (в качестве контейнера контента) тоже непросто. QTabWidget выглядит примерно так:

Понял, сначала не заметил этой разницы.

Цитата:
В общем, думаю, чтобы решить мою задачу, нужно переписывать QTabWidget (именно переписывать, а не создавать потомка на основе, т.к. там слишком много лишнего)

Можно и так и так. Лишнее можно не пререписывать, а просто не использовать. Но это уже дело вкуса.

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 03:24 10-01-2010
joktar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А вот вопрос-если разрабатывать под Windows а потом портировать под MacOS X
(используем только штатные компоненты Qt) - сильно будет отличатся внешний вид и поведение от родных маковских программ?

Всего записей: 131 | Зарегистр. 24-10-2004 | Отправлено: 22:12 11-01-2010
mickolam2004



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
будет отличатся внешний вид

должен быть один-к-одному с маком... а под виндой можно менять интерфейс по желанию.

Всего записей: 152 | Зарегистр. 21-12-2004 | Отправлено: 13:49 12-01-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Qt (Trolltech Qt, Nokia Qt, Digia Qt)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru