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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
nanit

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

Всего записей: 37 | Зарегистр. 16-11-2006 | Отправлено: 13:10 14-08-2007
Kvartirus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла Qt 4.3.2
Список изменений.
Ссылки на OpenSource дистрибутив появились, но сами файлы ещё нет.

Всего записей: 65 | Зарегистр. 09-12-2001 | Отправлено: 16:14 03-10-2007
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как создать QPixmap из иконки, зашитой в ресурсах приложения? Нужно для того, чтобы выполнить вызов setIcon() в главном окне приложения.

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 12:21 06-10-2007
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Каким образом скомпилированы ресурсы? При помощи Qt или как-то еще?

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 18:20 06-10-2007
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С помощью microsoft's resource compiler (rc.exe). Я уже добился магическим образом нужного эффекта модификацией .pro-файла плюс создание заново makefile с помощью утилиты qmake, как это описано в документации. Но всё же было бы любопытно узнать можно ли выполнить, например вызов LoadResource() и из результата создать QPixmap. А ещё лучше было бы увидеть кусок кода. Спасибо.

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 05:12 07-10-2007
nanit

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обычно, когда речь идёт о создании файла ресурсов в Qt сначала формируют файл qrc, добавляют в файл .pro строчку "RESOURCES += my.qrc" (без кавычек). А при вызове функции, где в качестве параметра просят файл передают строчку вида ":/App/Resources/Image.png". В данном случае файл ресурсов qrc выглядит так:
<RCC>
    <qresource prefix="/App" >
        <file>Resources/Image.png</file>
    </qresource>
</RCC>

Всего записей: 37 | Зарегистр. 16-11-2006 | Отправлено: 22:15 15-10-2007
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня возникла проблема с QThread, а точнее не очень понимаю как его использовать Есть приложени, в нем есть GUI и логика расчета. Так вот, надо вынести расчет в отдельный поток и что бы его результаты отображались в GUI (с самим отображением проблем нет). Причем расчет может быть как конечным, так и бесконечным, т.е. требуется возможность ручной остановки, но при этом расчет должен остановится в определенном месте, а не где попало. Сам расчет представляет собой в общем то цикл.
Попробовал сделать следующем образом, создал класс от QThread и добавил ему один сигнал (step()) и 3 слота (runN(), dostep(), stop()), соответственно step() соединил с dostep(), а runN и stop вызываются по сигналам из GUI. В runN происходить emit step(), а в step() выполнение нужных действий с проверкой булевой переменной, которую устанавливает stop() в случае необходимости остановится, и если остановка не требуется то происходить опять же emit step(). В виртуальном run() соответственно только exec().
Но после нескольких (не считал, но явном больше сотни) выполнений step() получаю сег.фолт. похоже, что qt следит за тем, откуда что было вызвано и в итоге получается переполнение стека. Если просто влепить бесконечный цикл в run() все работает замечательно, но без возможности остановить.
Как такое лучше реализовать?

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 16:15 22-10-2007 | Исправлено: Swappp, 16:17 22-10-2007
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день знатокам.
Скачал-таки версию 4.3.2 OpenSource, скачал заодно более-менее свежий MinGW (5.1.3), сконфигурировал:

Код:
 
configure -platform win32-g++
 

проблемы возникли при выполнении команды

Код:
 
mingw32-make
 

в общем, полезли какие-то undefined references, ниже я привожу вывод компилятора с места, где начинаются проблемы (убрал половину однотипных ошибок):

Код:
 
mingw32-make.exe[2]: Entering directory `D:/DevTools/Qt/4.3.2/src/corelib'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,d:\DevTools\Qt\4.3.2\lib\libQtCored4.a
 -o "..\..\lib\QtCored4.dll" object_script.QtCored.Debug  -L"d:\DevTools\Qt\4.3.
2\lib" -L"c:\Program Files\SQLXML 4.0\bin\" -L"d:\DevTools\Qt\4.3.2\lib" -lkerne
l32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 tmp\obj\debug_shared\Q
tCored_resource_res.o
Creating library file: d:\DevTools\Qt\4.3.2\lib\libQtCored4.a
./tmp\obj\debug_shared\qfsfileengine_win.o(.text+0x836c): In function `Z8readLin
kRK7QString':
D:/DevTools/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined refere
nce to `CoCreateInstance@20'
./tmp\obj\debug_shared\qfsfileengine_win.o(.text+0x838b):D:/DevTools/Qt/4.3.2/sr
c/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoInitialize@4'
 
./tmp\obj\debug_shared\qfsfileengine_win.o(.text+0x83b9):D:/DevTools/Qt/4.3.2/sr
c/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoCreateInstanc
e@20'
./tmp\obj\debug_shared\qfsfileengine_win.o(.text+0x96e7):D:/DevTools/Qt/4.3.2/sr
c/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoUninitialize@
0'
./tmp\obj\debug_shared\quuid.o(.text+0x229b): In function `ZN5QUuid10createUuidE
v':
D:/DevTools/Qt/4.3.2/src/corelib/plugin/quuid.cpp:411: undefined reference to `C
oCreateGuid@4'
./tmp\obj\debug_shared\qeventdispatcher_win.o(.text+0x2776): In function `ZN28QE
ventDispatcherWin32Private16doWsaAsyncSelectEi':
D:/DevTools/Qt/4.3.2/src/corelib/kernel/qeventdispatcher_win.cpp:390: undefined
reference to `WSAAsyncSelect@16'
collect2: ld returned 1 exit status
mingw32-make.exe[2]: *** [..\..\lib\QtCored4.dll] Error 1
mingw32-make.exe[2]: Leaving directory `D:/DevTools/Qt/4.3.2/src/corelib'
mingw32-make.exe[1]: *** [debug-all] Error 2
mingw32-make.exe[1]: Leaving directory `D:/DevTools/Qt/4.3.2/src/corelib'
mingw32-make.exe: *** [sub-corelib-make_default-ordered] Error 2
 

переменная окружения PATH прописана. помогите пжлста разобраться как мне собрать библиотеку.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 12:50 11-11-2007 | Исправлено: eLLoco, 17:15 11-11-2007
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посмотри, чтобы среди путей в PATH ли LIB не было ссылок на всякие визуалстудии

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 14:03 11-11-2007
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хм, TheChampion, после твоего поста пересмотрел код и действительно нашел странный параметр
Код:
-L"c:\Program Files\SQLXML 4.0\bin\"
. Я до этого в консоли запускал qtvars.bat,  а он, оказывается, переменную LIB не трогает. В ней, собственно и прописан данный путь. Стирание его в консоли не помогло, пришлось стирать в "Переменных окружения" и перегружаться (вход/выход тоже не помог).
После этого Qt собралась без проблем. TheChampion, спасибо за помощь.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 17:11 11-11-2007
slay93



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скомпилил 3.3.8 под VC++ 2008 Express.
Все вроде ничего, кроме строк меню и строки состояния:
они написаны жирным-наклонным и еще размер шрифта где-то 16-18!
Вот екзампл:

 
У кого есть идеи, где искать косяк?

Всего записей: 882 | Зарегистр. 13-01-2003 | Отправлено: 13:50 26-11-2007
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
slay93
А почему не 4.3.2?

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 14:45 26-11-2007
slay93



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheChampion, лицензия...

Всего записей: 882 | Зарегистр. 13-01-2003 | Отправлено: 15:15 26-11-2007
gross9

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди нужен последний Qt под Linux  
бросьте ссылки.

Всего записей: 2 | Зарегистр. 21-02-2008 | Отправлено: 22:01 21-02-2008
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исходники.
 
Пакеты ставишь своим пакетным менеджером, например:
 
apt-get install qt4

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 23:01 21-02-2008
gross9

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пару страниц выше выла ссылка на коммерческую версию.
Но архив под Linux там мусор. Вот и разыскиваю отдельно.

Всего записей: 2 | Зарегистр. 21-02-2008 | Отправлено: 09:01 27-02-2008
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна коммерческая версия Qt под Линукс? Во-первых, не уверен, что она вообще существует в природе. Во-вторых, не понимаю, зачем вам может быть нужна.

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 10:22 27-02-2008 | Исправлено: TheChampion, 10:22 27-02-2008
Swappp

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

Цитата:
Во-первых, не уверен, что она вообще существует в природе.

Существует Хотя отличия в основном только в лицензии.
gross9
Ты немного ошибся темой. Здесь вопросы касающиеся программирования и т.п., поиск в другом разделе.

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 19:54 01-03-2008
Viverra



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем, понадобилось мне создать контекстное меню для виджета QTreeWidget, причем в зависимости от выбранного элемента (группа, элемент группы) меню разное. Понятно, что добавление Actions для виджета и установка политики ActionsContextMenu тогда не подходит, нужно перекрыть событие contextMenuEvent ( QContextMenuEvent * event ).
 
Вопрос возник такой - мне обязательно перекрывать класс QTreeWidget и использовать потом наследника на главной форме или же можно сделать это в коде класса главной формы (где содержится стандартный QTreeWidget), где-нибудь в инициализаторе?
 
Если вопрос покажется странным, то я опирался на свои знания C# (может и зря), где это делается просто кодом вида (абстрактный пример):

Код:
 
tree.OnContextMenu += new ContextMenuHandler(nameOfMyHandlerFunc);
 

 
С С++ к сожалению, дружу не так сильно, подскажите код аналогичного решения для Qt/C++.
 
Спасибо.

Всего записей: 16 | Зарегистр. 19-02-2008 | Отправлено: 11:13 18-05-2008
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла Qt 4.3.5 - кто-нибудь пробовал?
 
4.4.0 неприятно удивила обилием глюков, вот думаю - может, откатиться на 4.3.5?

Всего записей: 2056 | Зарегистр. 26-10-2005 | Отправлено: 18:48 18-06-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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