Russian Qt Forum
Ноябрь 27, 2024, 19:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Файлы .cpp  (Прочитано 9998 раз)
Ilya_181
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« : Август 09, 2017, 14:41 »

Подскажите где находятся файлы реализации(.cpp) библиотеки Qt?
В заголовочный файл я могу попасть через F2 в QtCreator-е. Хочу посмотреть (.сpp) файлы различных виджетов и классов (QWidget, QComboBox, QTextCursor...). Клавиша F4 "переключить заголовочный/исходный " не переключает.  Так же как и shift F2 "переключить объявление/реализацию функции функции" не работает. Через F2 попадаю только в (.h) файлы.
Пытался найти файлы в папке где установлен Qt, не нашел.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #1 : Август 09, 2017, 14:45 »

Можно отдельно скачать архив с исходниками Qt для получения cpp. У вас же, скорее всего результат сборки Qt, т.е. библиотечные файлы и заголовочные.
Записан
Swa
Самовар
**
Offline Offline

Сообщений: 170


Просмотр профиля
« Ответ #2 : Август 09, 2017, 14:54 »

https://github.com/qt/qtbase
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #3 : Август 09, 2017, 14:55 »

Пытался найти файлы в папке где установлен Qt, не нашел.

А как устанавливали Qt? Если с помощью "Qt Online Installers" ("Qt Maintenance Tool"), то там для заданной версии Qt нужно отметить компонент "Sources".
Записан

Пока сам не сделаешь...
Ilya_181
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #4 : Август 09, 2017, 14:56 »

Можно отдельно скачать архив с исходниками Qt для получения cpp. У вас же, скорее всего результат сборки Qt, т.е. библиотечные файлы и заголовочные.
То есть что значит "библиотечные файлы"? У меня все работает, все проекты компилируются, и в тоже время отсутствуют исходники. Как же тогда работают классы без исходников?
Записан
Ilya_181
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #5 : Август 09, 2017, 14:59 »

Пытался найти файлы в папке где установлен Qt, не нашел.

А как устанавливали Qt? Если с помощью "Qt Online Installers" ("Qt Maintenance Tool"), то там для заданной версии Qt нужно отметить компонент "Sources".
Я уже не помню, но скорее всего через "Qt Online Installers". По видимому я не отметил компонент "Sources".
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #6 : Август 09, 2017, 15:01 »

Я уже не помню, но скорее всего через "Qt Online Installers". По видимому я не отметил компонент "Sources".

Тогда запустите "Qt Maintenance Tool" и там можно добавлять/удалять компоненты.
Записан

Пока сам не сделаешь...
Ilya_181
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #7 : Август 09, 2017, 15:08 »

Цитировать
Тогда запустите "Qt Maintenance Tool" и там можно добавлять/удалять компоненты.
Я так понял снова скачать "Qt Maintenance Tool" и добавить/удалить компоненты
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #8 : Август 09, 2017, 15:17 »

Я так понял снова скачать "Qt Maintenance Tool" и добавить/удалить компоненты

Если Qt устанавливался с помощью "Qt Online Installer", то при этом устанавливается "Qt Maintenance Tool" (в меню "Пуск" винды), с помощью которого можно изменять состав компонентов Qt.
Записан

Пока сам не сделаешь...
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #9 : Август 09, 2017, 15:20 »

То есть что значит "библиотечные файлы"? У меня все работает, все проекты компилируются, и в тоже время отсутствуют исходники. Как же тогда работают классы без исходников?
В папке lib хранятся a файлы с описанием модулей Qt. Для mingw это a файлы, которые являются архивными. Они полезны на этапе линковки программы.
В папке bin хранятся динамические библиотеки (dll). Они содержат скомпилированный исполнительный код модулей Qt. При запуске вашей программы загружается и dll. При обращение к методам классов Qt, которые были скомпилированы не в качестве встроенных, ваша программа обращается именно к dll.
Записан
Ilya_181
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #10 : Август 10, 2017, 11:22 »

Скачал исходники только по этой ссылке http://download.qt.io/archive/qt/5.6/5.6.2/single/. Теперь, можно как-то сделать чтобы они открывались в QtCreator через F2? Куда нужно скинуть файлы, и что прописать в QtCreator, может кто знает?
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #11 : Август 10, 2017, 11:36 »

Кажется, без костылей тут не обойтись.
Можно, конечно, прописать в tools->options->c++->file naming-> sources->search paths все пути к исходникам и по F4 переключаться.
Но зачем это всё нужно?
Записан
Ilya_181
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #12 : Август 10, 2017, 15:13 »

Кажется, без костылей тут не обойтись.
Можно, конечно, прописать в tools->options->c++->file naming-> sources->search paths все пути к исходникам и по F4 переключаться.
Но зачем это всё нужно?
Если прописать путь как вы посоветовали, то работает. Но проблема в том что нужно прописывать абсолютный путь (D:\Qt5.6.2\src\widgets\widgets). Это плохо потому что прописать все пути я быстрее с ума сойду, там столько каталогов... Есть вариант какой-то чтобы я написал только (D:\Qt5.6.2\src)  путь к папке исходников (src), а QtCreator  пусть ищет по каталогам?

В крайнем случае я все повытаскиваю с каталогов и скопирую все (.cpp) в одну папку. После можно будет подключить эту папку и будет все работать. Вручную конечно долго будет, напишу может батник, но батники не умею, напишу прогу на Qt. Но перед этим, может кто знает более простой вариант?
Записан
Bepec
Гость
« Ответ #13 : Август 10, 2017, 15:17 »

Вам нужно только добавить директорию include.
Всё остальное любая IDE додумает сама.
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #14 : Август 10, 2017, 15:33 »

Есть вариант какой-то чтобы я написал только (D:\Qt5.6.2\src)  путь к папке исходников (src), а QtCreator  пусть ищет по каталогам?

В Tools->Options->Debugger->General->Source Path Mapping->"Add Qt sources" можно указать папку, где лежат исходники. Но это нужно, чтобы во время отладки можно было заходить во внутренности Qt, в режиме редактирования это не очень помогает. Ну и с однозначным соответствием *.h <-> *.cpp в Qt не всё так просто, для одного заголовочного файла могут быть несколько cpp для разных платформ и т.п (Qt\x.x.x\Src\qtbase\src\corelib\thread\qmutex*.* например).
Записан

Пока сам не сделаешь...
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.08 секунд. Запросов: 23.