Re[3]: Возможна ли интеграция MSVS и Qt4?
От: DiPaolo Россия  
Дата: 22.01.16 18:10
Оценка: +1
Здравствуйте, AlexGin, Вы писали:

AG>Что же касается IDE, то я пока установил Qt Creator 1.2.1 (из Qt SDK), но очень хотел бы приспособить вижуалку для данных целей.


Советую ставить более свежую версию Qt Creator. У меня 3.6. Т.е. 1.2.1 весьма старая. И я помню, что более ранние версии были не столь удобны и функциональны, как последующие. Это может оттолкнуть. "Осадочек останется"

V>>Что касается Qt, и в частности 4.8.x, то перспективы у него есть, ведь он интегрирован во множество библиотек, и сам может использовать ещё большее количество. А программы при этом можно портировать на множество архитектур и операционок простой перекомпиляцией.

AG>Это очень хорошо, что при переходе на другую ОС не требуется разработки новой версии!

Справедливости ради, в реальных проектах не всегда достаточно лишь перекомпиляции. Иногда надо ОС-специфичные куски кода вставлять. Но в целом, конечно — кросс-платформенность хорошая и это огромный плюс Qt.

V>>Что касается книг в порядке убывания крутизны:

V>>

V>>1. Макс Шлее: Qt 4.8 Профессиональное программирование на C++
V>>предыдущие версии 4.5, 4.2, 3.2
V>>лучше пользоваться версией 4.8, можно считать это дополненным изданием
V>>2. Марк Саммерфилд+Жасмин Бланшет: Qt 4.3 Программирование GUI на C++ 2-е издание
V>>предыдущие версии 4.1, 3.2
V>>понятное дело лучше использовать 4.3
V>>3. Марк Саммерфилд: Qt 4.6 Профессиональное программирование Разработка кроссплатформенных приложений на C++

AG>Первое у меня есть по Qt4.5 (в бумажном варианте и с DVD диском), второе и третье — в электронном виде, в хорошем качестве.

Как по мне, так я бы читал свежие документации онлайн. Там есть развернутые статьи по базовым концепциям. Плюс всегда актуальная информация. Да и примеров кода полно.
Патриот здравого смысла
Отредактировано 22.01.2016 18:10 DiPaolo . Предыдущая версия .
Re[4]: Возможна ли интеграция MSVS и Qt4?
От: velkin Удмуртия https://kisa.biz
Дата: 22.01.16 18:48
Оценка:
Здравствуйте, DiPaolo, Вы писали:

DP>Как по мне, так я бы читал свежие документации онлайн. Там есть развернутые статьи по базовым концепциям. Плюс всегда актуальная информация. Да и примеров кода полно.


Можно и не свежие, зато хотя бы частично русифицированные.
http://doc.crossplatform.ru/qt/4.8.x/html-qt/
Re[6]: Возможна ли интеграция MSVS и Qt4?
От: AlexGin Беларусь  
Дата: 22.01.16 19:00
Оценка:
Здравствуйте, уважаемый LaptevVV, Вы писали:

AG>>Просто у меня имется литература:

AG>>1) M.Шлее "Qt4.5 профессиональное програмирование";
AG>>2) А.Боровский "Qt4.7 практическое програмирование".
LVV>В сети давно болтается Шлее 4.8 и даже Шлее 5.3. Там и QtCreator описан.
Хочется освоить весь Qt — и как библиотеку классов, и все вспомогательные утилиты (в т.ч. и QtCreator),
в то же время, если есть возможность работать в привычной мне среде MSVS, то не следует упускать этот шанс

LVV>Кроме того, ссыль на книжку я тут постил — она тоже поновее Боровского...

Я уже скачал файл этой книжки (АлтЛинукс "Программирование на языке С++ в среде Qt Creator" группа отечественных авторов).
В книге много нового (с главы 12). Порорабатываю и эти материалы.
Огромное спасибо, уважаемый профессор!

LVV>У Шлее те коды, которые я пробовал — все работали.

То есть, можно брать Qt 5.3/5.4 и вперед — это отлично
Отредактировано 23.01.2016 8:36 AlexGin . Предыдущая версия .
Re[3]: Возможна ли интеграция MSVS и Qt4?
От: velkin Удмуртия https://kisa.biz
Дата: 22.01.16 19:13
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Здравствуйте, уважаемый velkin, Вы писали:


V>>Лучше поставь второй операционкой Debian, текущая версия 8-ая, архитектура под компьютер, скорее всего amd64 (у майкрософт x64, так же известна как x86-64).

AG>Очень хорошая идея, но я пока планирую войти в мир кроссплатформенного посредством Qt. Пока оставаясь на привычной мне винде

Потому и надо ставить Debian (amd64, kde) второй операционкой. Выделить место в конце диска и установить с автоматической разметкой. Проблемы обычно бывают, когда сначала ставится линукс, а потом винда, но не наоборот. Тоже был виндузятником, но лет 8 назад захотелось кроссплатформенности, так постепенно затянуло в GNU/Linux, на это ушли годы, и всё равно у меня винда стоит второй операционкой. А вот помню в конце прошлого тысячелетия VS 6.0 казалась очень крутой IDE, потом была VS 2003, VS 2005, ну, а потом с этого слез и перешёл на кроссплатформу. Между прочим Qt Creator кроссплатформенная IDE, файлы проекта *.pro обрабатываются как раз той самой qmake, в линуксе будет ещё и valgrind. Вспомнился мой старый топик — ТОП лучших инструментов C++.
Удачная интеграция MSVS и Qt4!
От: AlexGin Беларусь  
Дата: 23.01.16 08:20
Оценка:
Разобрался сегодня утром в стуации!
Удалось приспособить MSVS-2010 к совместной работе с Qt 4.8.7

Замечу, что вчера я выполнил uninstall для qt-vs-addin-1.1.10.

Сегодня, прежде всего, как мне тут советовал уважаемый velkin, скачал пакет:
qt-opensource-windows-x86-vs2010-4.8.8.exe и проинсталлировал его.

Этот продукт установлен на C:\Qt\4.8.7, а прежняя версия (с DVD прилагаемого к книге М.Шлее по Qt4.5) у меня на C:\Qt\2009.03.

Затем опять проинсталлировал вышеупомянутый qt-vs-addin-1.1.10 — теперь он стал как к себе домой —
т.е. в студии, в окне настроек плагина (меню Qt->Qt Options) сразу стояли верные настройки!
Там имеется Path=C:\Qt\4.8.7 — после этого удалось создать и откомпилировать проект в вижуалке!!!

Огромное спасибо всем, особенно товарищу velkin, за ценные мысли и подсказки!!!

P.S. Попутно замечу, что никаких батников вызывать не потребовалось.

ПРИМЕЧАНИЕ:
Батник вызывается только при запуске среды MSVS-2010 в режиме разработки (он устанавливает переменные окружения).
Отредактировано 06.02.2016 18:50 AlexGin . Предыдущая версия . Еще …
Отредактировано 23.01.2016 8:26 AlexGin . Предыдущая версия .
Отредактировано 23.01.2016 8:24 AlexGin . Предыдущая версия .
Re: Удачная интеграция MSVS и Qt4!
От: LaptevVV Россия  
Дата: 23.01.16 08:38
Оценка:
AG>P.S. Попутно замечу, что никаких батников вызывать не потребовалось.
Когда будешь ставить следующую версию — не ставь поверх.
Сначала все снеси, а потом наново ставь свежую.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Удачная интеграция MSVS и Qt4!
От: DiPaolo Россия  
Дата: 23.01.16 08:51
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Когда будешь ставить следующую версию — не ставь поверх.

LVV>Сначала все снеси, а потом наново ставь свежую.

Не стоит так делать. Разные версии Qt замечательно уживаются вместе. Например, так:
C:\Qt\4.7.4
C:\Qt\4.8.7
C:\Qt\5.0
C:\Qt\5.5

Далее в проекте выбираешь нужную версию. В итоге, можно будет независимо использовать разные версии Qt в разных проектах. Для примеров, тех же.
Патриот здравого смысла
Re[3]: Удачная интеграция MSVS и Qt4!
От: LaptevVV Россия  
Дата: 23.01.16 08:56
Оценка:
LVV>>Когда будешь ставить следующую версию — не ставь поверх.
LVV>>Сначала все снеси, а потом наново ставь свежую.
DP>Не стоит так делать. Разные версии Qt замечательно уживаются вместе. Например, так:
DP>C:\Qt\4.7.4
DP>C:\Qt\4.8.7
DP>C:\Qt\5.0
DP>C:\Qt\5.5
DP>Далее в проекте выбираешь нужную версию. В итоге, можно будет независимо использовать разные версии Qt в разных проектах. Для примеров, тех же.
Спасибо за инфу.
Мой опыт говорит об обратном.
Пока не снес предыдущую версию, новая работала криво и косо.
Снес, наново установил — все заработало как часы. Но это было года полтора назад...
Опыт работы именно с Qt у мене не велик.
Вполне возможно, что нынешние версии прекрасно уживаются с предыдущими без лишних телодвижений...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Удачная интеграция MSVS и Qt4!
От: AlexGin Беларусь  
Дата: 23.01.16 11:00
Оценка:
Здравствуйте, уважаемый DiPaolo, Вы писали:

DP>Не стоит так делать. Разные версии Qt замечательно уживаются вместе. Например, так:

DP>C:\Qt\4.7.4
DP>C:\Qt\4.8.7
DP>C:\Qt\5.0
DP>C:\Qt\5.5

DP>Далее в проекте выбираешь нужную версию. В итоге, можно будет независимо использовать разные версии Qt в разных проектах. Для примеров, тех же.


В такой конфигурации появляется резонный вопрос:
В переменную среды PATH (в настройках ОС Windows) — прописывать путь к какой версии?
Re[4]: Удачная интеграция MSVS и Qt4!
От: DiPaolo Россия  
Дата: 23.01.16 11:22
Оценка: 6 (1)
Здравствуйте, AlexGin, Вы писали:

AG>В такой конфигурации появляется резонный вопрос:

AG>В переменную среды PATH (в настройках ОС Windows) — прописывать путь к какой версии?

Советую не прописывать в PATH. У меня, например, не прописано. Объясню, почему это может быть удобно:
Если у Вас несколько Qt и есть несколько проектов, которые надо собирать разными версиями, или же надо собирать один проект, но с разными версиями (ну мало ли .
Тогда вы каждый раз настраиваете нужное окружение (например, запускаете тот или иной скрипт). Т.е. набираете себе кирпичики, которые нужны на данный конкретный момент. Это очень хорошо укладывается, кстати, в подход, применяемый в Linux-среде.

Опять-таки, представьте, что у Вас еще есть сборки Qt для мобильников (для ARM и х86). И Вам нужно оперировать разными. UI для мобильника на одном Qt. Движок на другой версии. Ну это так, для примера.

Или другой пример. Берете исходники какого-нибудь проекта с GitHub, а там нудна определенная версия Qt, которой у Вас нет. Не будете же Вы менять свое окружение для этого. Вы просто накатите нужную версию Qt, испоьзуете ее для сборки. Ваше основное рабочее окружение никак не пострадает.

Возможны различные варианты, в зависимоти от Ваших предпочтений и того, как Вы привыкли работать.

1) Например, в Windows при установке Qt Add-in появляется шорткат в Пуске "Qt 4.8.4 Command Prompt", который вызывает нужный батник для настройки конкретного окружения:

%COMSPEC% /k "C:\apps\Qt\4.8.4\bin\qtvars.bat vsvars"


В qtvars.bat прописано, в частности:
echo Setting up a Qt environment...

set QTDIR=C:\apps\Qt\4.8.4
echo -- QTDIR set to C:\apps\Qt\4.8.4
set PATH=C:\apps\Qt\4.8.4\bin;%PATH%
echo -- Added C:\apps\Qt\4.8.4\bin to PATH
set QMAKESPEC=win32-msvc2010
echo -- QMAKESPEC set to "win32-msvc2010"


Ну это моя конкретная конфигурация.

Таким образом, можно запускать этот пункт в Пуске (их будет несколько для разных версий). Или же написать свои удобные батники и использовать C:\apps\Qt\4.8.4\bin\qtvars.bat и прочие напрямую.

2) Можно в Студии выбирать дефолтную версию Qt. Она сама все сделает.
3) Под Линуксом можно также использовать свои скрипты и зыпускать тот или иной в зависимоти от того, какая версия Qt нужна.
4) Можно в Qt Creator настраивать конфигурации, в том числе и задавать конфигурацию по умолчанию.

Более того, в Qt Creator Вы можете собирать из кирпичиков себе не только Qt, но и компилятор, и дебаггер и т.д. Получается в итоге различные инструменты сборки, которые нужны именно Вам.

Лично для меня иметь разные Qt — очень удобно. Но это зависит от Ваших привычек и нужд.
Патриот здравого смысла
Отредактировано 23.01.2016 11:24 DiPaolo . Предыдущая версия .
Re: Возможна ли интеграция MSVS и Qt4?
От: DiPaolo Россия  
Дата: 23.01.16 11:34
Оценка: +1
Кстати, AlexGin, по Вашим сообщениям я помню, что Вы долго используете Win API. Поэтому советую ознакомиться с Qt Coding Conventions и Qt Code Style. Также советую смотреть исходники и заголовочники Qt.

https://wiki.qt.io/Coding_Conventions
https://wiki.qt.io/Qt_Coding_Style

Стиль Qt разительно отличается от принятого в Win API. Советую придерживаться Qt-стиля и не использовать венгерскую нотацию.
Патриот здравого смысла
Re[4]: Удачная интеграция MSVS и Qt4!
От: velkin Удмуртия https://kisa.biz
Дата: 23.01.16 14:11
Оценка: 2 (2)
Здравствуйте, LaptevVV, Вы писали:

LVV>Мой опыт говорит об обратном.

LVV>Пока не снес предыдущую версию, новая работала криво и косо.
LVV>Снес, наново установил — все заработало как часы. Но это было года полтора назад...
LVV>Опыт работы именно с Qt у мене не велик.
LVV>Вполне возможно, что нынешние версии прекрасно уживаются с предыдущими без лишних телодвижений...

Версии Qt прекрасно уживались и уживаются друг с другом. По большому счёту они никак не взаимодействуют и находятся в разных папках. Если говорить о Qt Creator, то желательно посмотреть в меню "Инструменты=>Параметры...=>Сборка и запуск", а там уже все вкладки, особенно Комплекты, Профили Qt, Компиляторы, Отладчики, причём сделать это пока "всё работает как часы". Там есть списки, при наведении на элементы можно узнать информацию о настройках. Если сложно запомнить, то просто заскринить, и потом легко будет настроить любые конфигурации, вроде динамической и статической сборки, разные версии Qt, и так далее. Телодвижений на самом деле несколько кликов мыши, главное знать какие файлы выбрать.
Re[2]: Возможна ли интеграция MSVS и Qt4?
От: AlexGin Беларусь  
Дата: 23.01.16 14:24
Оценка:
Здравствуйте, уважаемый DiPaolo, Вы писали:

DP>Кстати, AlexGin, по Вашим сообщениям я помню, что Вы долго используете Win API. Поэтому советую ознакомиться с Qt Coding Conventions и Qt Code Style. Также советую смотреть исходники и заголовочники Qt.

Да, именно так — работал много над WinAPI и MFC проектами.
Тепрь, когда взялся за изучение Qt, у меня создалось впечатление, что Qt лаконичнее и менее избыточно, чем WinAPI и MFC.

DP>https://wiki.qt.io/Coding_Conventions

DP>https://wiki.qt.io/Qt_Coding_Style

DP>Стиль Qt разительно отличается от принятого в Win API. Советую придерживаться Qt-стиля и не использовать венгерскую нотацию.

Спасибо, уважаемый DiPaolo, посмотрю данные материалы!
Re[2]: Возможна ли интеграция MSVS и Qt4?
От: Submitter  
Дата: 25.01.16 05:11
Оценка:
Здравствуйте, Serpuh, Вы писали:

S>Стоит, по удобству VS гораздо лучше Креатора.


Вы не могли бы, тоже как новичку, перечислить преимущества чем он лучше Креатора? Пока большой минус для VS 2013 — он тормозит на моем компе.
Re[4]: Возможна ли интеграция MSVS и Qt4?
От: Igore Россия  
Дата: 25.01.16 06:54
Оценка:
Здравствуйте, lexer_lx, Вы писали:

_>Visual Studio Add-in на крупном проекте порой жутко тормозил и глючил. Доходило до крайностей: при добавлении новых файлов в проект моки для них не генерировались, пока не убьешь проект полностью и не воссоздашь заново.

Да, есть такое, если не хочется пересоздавать заново, то проблема в том что интеграция добавляет информацию в конец проекта, кто виноват интеграция или студия я
  Пример элемента
  <ItemGroup>
    <CustomBuild Include="ui\form.ui">
      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Uic%27ing %(Identity)...</Message>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\_generated\ui_%(Filename).h;%(Outputs)</Outputs>
      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\uic.exe" -o ".\_generated\ui_%(Filename).h" "%(FullPath)"</Command>
      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Uic%27ing %(Identity)...</Message>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\_generated\ui_%(Filename).h;%(Outputs)</Outputs>
      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\uic.exe" -o ".\_generated\ui_%(Filename).h" "%(FullPath)"</Command>
    </CustomBuild>
  </ItemGroup>

если открыть проект на редактирование и перенести данные к остальным, то всё генерируется и собирается. Причем у меня такая проблема наблюдается только Release, для Debug все генерируется и собирается.
Re[3]: Возможна ли интеграция MSVS и Qt4?
От: Serpuh фотомер.рф
Дата: 25.01.16 07:21
Оценка: 2 (1)
Здравствуйте, Submitter, Вы писали:
S>Вы не могли бы, тоже как новичку, перечислить преимущества чем он лучше Креатора? Пока большой минус для VS 2013 — он тормозит на моем компе.

Я Креатор глубоко не копал, но общераспространенное мнение что в Студии гораздо лучше отладчик. Редактор в Студии для меня гораздо приятнее, вообщем я себя так и не смог заставить работать в Креаторе.
Re[4]: Удачная интеграция MSVS и Qt4!
От: SaZ  
Дата: 25.01.16 12:47
Оценка: +1
Здравствуйте, AlexGin, Вы писали:

AG>В такой конфигурации появляется резонный вопрос:

AG>В переменную среды PATH (в настройках ОС Windows) — прописывать путь к какой версии?

Не использовать PATH. Вообще. Нужно так настроить сборку, чтобы для конкретного проекта бралась конкретная версия Qt.
Re[5]: Возможна ли интеграция MSVS и Qt4?
От: SaZ  
Дата: 25.01.16 12:52
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>CMake — утилита командной строки, хоть и работает быстрее, но такого удобства как студия, не даёт. Верно?


Нет. CMake это система сборки файлов проекта под все популярные IDE. Вы на языке cmake описываете проект и говорите через командную строку (ещё есть GUI), для какой IDE сгенерировать файлы проекта. Например, можно сгенерировать проект для MSVS и работать с ним как с родным.
Re[5]: Возможна ли интеграция MSVS и Qt4?
От: SaZ  
Дата: 25.01.16 13:14
Оценка: +2
Здравствуйте, AlexGin, Вы писали:


AG>Не уверен, насколько корректно примеры под Qt4 подойдут для Qt5.

AG>Также не уверен, насколько хорошо будет стыковаться MSVS-2013 и Qt5.

Я поясню. Qt гарантирует совместимость в рамках мажорной версии. Т.е. то, что написано под Qt 4.5 будет 100% так же выглядеть под Qt 4.8. С учётом того, что в последней версии исправлены многие баги.
Я не особо агитирую на переход сразу на Qt5x.

AG>Ну, а все остальное — в смысле MSVS-2013 — у меня установлено, и активно применяется.


Я сам использую msvs 2013 / 2015. Отличная среда разработки. И официально поддерживается Qt. Но, Qt4x под 2013 студию придётся компилировать вручную, т.к. готовых бинарников Qt не выкладывает.


AG>Если делать первые шаги в C++ (а я именно только начал изучать Qt), ИМХО не важно C++03 или C++11/14 — конструктор и деструктор своё назначение НЕ МЕНЯЛИ.


Как рядом заметили, появился конструктор перемещения. И он активно используется. В Qt отказываются от велосипедов: советуют переходить на алгоритмы из STL, те же конструкторы перемещения позволяют значительно оптимизировать производительность при работе со строками и т.п. Плюс лямбды — значительно облегчают жизнь.
Re[3]: Возможна ли интеграция MSVS и Qt4?
От: Denwer Россия  
Дата: 25.01.16 15:48
Оценка:
Здравствуйте, Submitter, Вы писали:

S>Здравствуйте, Serpuh, Вы писали:


S>>Стоит, по удобству VS гораздо лучше Креатора.


S>Вы не могли бы, тоже как новичку, перечислить преимущества чем он лучше Креатора? Пока большой минус для VS 2013 — он тормозит на моем компе.


Отладчик в креаторе — дерьмо полное, плюс тормозной. Но свои проекты все равно на креаторе делаю, все же кроссплатформенность и хорошая интеграция библиотеки в ИДЕ. Например в студии нельзя добавлять сигналы виджета и тут же их редактировать.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.