Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ автозаполнение в QDevelop

Автор: altyam 25.8.2008, 9:26

Здравствуйте, участники форума. Я недавно начал изучать Qt. Поставил QDevelop, но автозаполнение настроить не получается. Путь к ctags указал - при проверке напротив него устанавливается галочка, но автозаполнение не работает. Точнее работает, но частично.
Если я создаю свой класс и в нем определяю функции-члены и переменные-члены, то потом когда использую его в функции main автозаполнение работает. Т.е. набираю "object." и появляется список доступных идентификаторов. Но если я использую готовый Qt-класс, например, QPushButton и создаю на его основе объект, например, m_button, то набрав "m_button." или "m_button->" никаких функций и переменных не появляется. То же самое, набираю "Qt::" и ничего. Но компиляция проходит без ошибок - кнопка создается!
Пробелов в пути к ctags нет и галочка "автозаполнение" установлена в настройках Qdevelop. Если кто-нибудь сталкивался с такой проблемой - подскажите.

Спасибо.

Автор: trdm 25.8.2008, 10:41

попоробй как вариант использовать кодеблок.

Автор: molchanoviv 25.8.2008, 10:58

Сtags парсит только твои исходники, и создает теги только по функциям и классам которые созданы в твоем исходнике.
т.е. если ты унаследуешь свой класс от готового, то отображать(и автодополнять соответственно) он будет только методы созданные тобой, но не готовые.

Поправьте меня если я ошибаюсь, но помоему это так.

Автор: altyam 25.8.2008, 11:04

А какая IDE для Qt считается самой лучшей (где меньше всего глюков)? М.б. с Qdevelop не стоит возиться, а попробовать CodeBlock или что-то другое?

Т.е. если я не наследую свой класс от уже имеющегося (например, QDialog), то не смогу посмотреть доступные функции и переменные. Например такой код не вызовет автодополнение:
......др #include
#include <QPushButton>
int main(int argc, char* argv[])
{
.....
QPushButton* m_button = new QPushButton("Quit");
m_button-> // В этом случае автозаполнение не будет работать в любом случае????
......
}

Автор: molchanoviv 25.8.2008, 13:00

Насчет IDE под *nix лучше всего это Kate + Konsole (написал bash скрипт для запуска qmake + make). Для виндовз я перепробовал много IDE Первой была - MS Visual Studio 2005+QT Integrator - Монстр (хотя некоторых вещей мне не хватало в других IDE). После были QDevelop, AnyQSoftIDE, MonkeyStudio, Edyuk(лучшая из ИДЕ специально для QT, но очень сырая и с версией 4.4 отказалась работать напрочь). Потом попробовал Eclipse+CDT+QT Integrator - неплохо, но тормоза при работе заставили меня отказаться от нее так-же как и от MS VS .Net, но если ты не боишься тормозов то смело используй её. Поэтому для вин я выбрал Notepad++(KDE 4.1 под win еще очень сырая, поэтому Kate использовать не получилось) и скрипт для компиляции.
А вообще лучщей IDE я считаю Dev-C++, жаль она больше не обновляется.

Насчет автодополнения. Про наследования я сказал, чтобы показать что в любом случае автодополнения готовых функций не будет, ибо нет тегов исходников QT(подключаемых заголовков).

Автор: Litkevich Yuriy 25.8.2008, 13:12

altyam, автозаполнение в QDevelop уже обсуждалось, на многих форумах. Резюме: одна и таже версия на одной такчке работает на другой нет.
Вот например http://www.forum.crossplatform.ru/index.php?showtopic=321
Есть еще http://www.qt-apps.org/index.php?xcontentmode=4260

Автор: altyam 25.8.2008, 13:13

Спасибо.

Автор: trdm 25.8.2008, 15:07

Помоему, это называется Intellicense или автодополнение.

Автор: fsMark 25.8.2008, 16:08

Автодополнение в QDevelop не заработало нормально под windows, но работает без нареканий в Ubuntu 7.10... (Вобще помоему linux окружение дружелюбней для разработчика)

Автор: niXman 25.8.2008, 21:39

fsMark, Солидарен!

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)