Russian Qt Forum
Ноябрь 27, 2024, 19:18
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Файлы .cpp
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Файлы .cpp (Прочитано 9998 раз)
Ilya_181
Новичок
Offline
Сообщений: 33
Файлы .cpp
«
:
Август 09, 2017, 14:41 »
Подскажите где находятся файлы реализации(
.cpp
) библиотеки Qt?
В заголовочный файл я могу попасть через
F2
в QtCreator-е. Хочу посмотреть (
.сpp
) файлы различных виджетов и классов (QWidget, QComboBox, QTextCursor...). Клавиша
F4
"переключить заголовочный/исходный " не переключает. Так же как и
shift F2
"переключить объявление/реализацию функции функции" не работает. Через
F2
попадаю только в (.h) файлы.
Пытался найти файлы в папке где установлен Qt, не нашел.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Файлы .cpp
«
Ответ #1 :
Август 09, 2017, 14:45 »
Можно отдельно скачать архив с исходниками Qt для получения cpp. У вас же, скорее всего результат сборки Qt, т.е. библиотечные файлы и заголовочные.
Записан
Swa
Самовар
Offline
Сообщений: 170
Re: Файлы .cpp
«
Ответ #2 :
Август 09, 2017, 14:54 »
https://github.com/qt/qtbase
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: Файлы .cpp
«
Ответ #3 :
Август 09, 2017, 14:55 »
Цитата: Ilya_181 от Август 09, 2017, 14:41
Пытался найти файлы в папке где установлен Qt, не нашел.
А как устанавливали Qt? Если с помощью "Qt Online Installers" ("Qt Maintenance Tool"), то там для заданной версии Qt нужно отметить компонент "Sources".
Записан
Пока сам не сделаешь...
Ilya_181
Новичок
Offline
Сообщений: 33
Re: Файлы .cpp
«
Ответ #4 :
Август 09, 2017, 14:56 »
Цитата: __Heaven__ от Август 09, 2017, 14:45
Можно отдельно скачать архив с исходниками Qt для получения cpp. У вас же, скорее всего результат сборки Qt, т.е. библиотечные файлы и заголовочные.
То есть что значит "библиотечные файлы"? У меня все работает, все проекты компилируются, и в тоже время отсутствуют исходники. Как же тогда работают классы без исходников?
Записан
Ilya_181
Новичок
Offline
Сообщений: 33
Re: Файлы .cpp
«
Ответ #5 :
Август 09, 2017, 14:59 »
Цитата: ViTech от Август 09, 2017, 14:55
Цитата: Ilya_181 от Август 09, 2017, 14:41
Пытался найти файлы в папке где установлен Qt, не нашел.
А как устанавливали Qt? Если с помощью "Qt Online Installers" ("Qt Maintenance Tool"), то там для заданной версии Qt нужно отметить компонент "Sources".
Я уже не помню, но скорее всего через "Qt Online Installers". По видимому я не отметил компонент "Sources".
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: Файлы .cpp
«
Ответ #6 :
Август 09, 2017, 15:01 »
Цитата: Ilya_181 от Август 09, 2017, 14:59
Я уже не помню, но скорее всего через "Qt Online Installers". По видимому я не отметил компонент "Sources".
Тогда запустите "Qt Maintenance Tool" и там можно добавлять/удалять компоненты.
Записан
Пока сам не сделаешь...
Ilya_181
Новичок
Offline
Сообщений: 33
Re: Файлы .cpp
«
Ответ #7 :
Август 09, 2017, 15:08 »
Цитировать
Тогда запустите "Qt Maintenance Tool" и там можно добавлять/удалять компоненты.
Я так понял снова скачать "Qt Maintenance Tool" и добавить/удалить компоненты
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: Файлы .cpp
«
Ответ #8 :
Август 09, 2017, 15:17 »
Цитата: Ilya_181 от Август 09, 2017, 15:08
Я так понял снова скачать "Qt Maintenance Tool" и добавить/удалить компоненты
Если Qt устанавливался с помощью "Qt Online Installer", то при этом устанавливается "Qt Maintenance Tool" (в меню "Пуск" винды), с помощью которого можно изменять состав компонентов Qt.
Записан
Пока сам не сделаешь...
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Файлы .cpp
«
Ответ #9 :
Август 09, 2017, 15:20 »
Цитата: Ilya_181 от Август 09, 2017, 14:56
То есть что значит "библиотечные файлы"? У меня все работает, все проекты компилируются, и в тоже время отсутствуют исходники. Как же тогда работают классы без исходников?
В папке lib хранятся a файлы с описанием модулей Qt. Для mingw это a файлы, которые являются архивными. Они полезны на этапе линковки программы.
В папке bin хранятся динамические библиотеки (dll). Они содержат скомпилированный исполнительный код модулей Qt. При запуске вашей программы загружается и dll. При обращение к методам классов Qt, которые были скомпилированы не в качестве встроенных, ваша программа обращается именно к dll.
Записан
Ilya_181
Новичок
Offline
Сообщений: 33
Re: Файлы .cpp
«
Ответ #10 :
Август 10, 2017, 11:22 »
Цитата: Swa от Август 09, 2017, 14:54
https://github.com/qt/qtbase
Скачал исходники только по этой ссылке
http://download.qt.io/archive/qt/5.6/5.6.2/single/
. Теперь, можно как-то сделать чтобы они открывались в QtCreator через
F2
? Куда нужно скинуть файлы, и что прописать в QtCreator, может кто знает?
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Файлы .cpp
«
Ответ #11 :
Август 10, 2017, 11:36 »
Кажется, без костылей тут не обойтись.
Можно, конечно, прописать в tools->options->c++->file naming-> sources->search paths все пути к исходникам и по F4 переключаться.
Но зачем это всё нужно?
Записан
Ilya_181
Новичок
Offline
Сообщений: 33
Re: Файлы .cpp
«
Ответ #12 :
Август 10, 2017, 15:13 »
Цитата: __Heaven__ от Август 10, 2017, 11:36
Кажется, без костылей тут не обойтись.
Можно, конечно, прописать в 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
Гость
Re: Файлы .cpp
«
Ответ #13 :
Август 10, 2017, 15:17 »
Вам нужно только добавить директорию include.
Всё остальное любая IDE додумает сама.
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: Файлы .cpp
«
Ответ #14 :
Август 10, 2017, 15:33 »
Цитата: Ilya_181 от Август 10, 2017, 15:13
Есть вариант какой-то чтобы я написал только (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
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...