Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_C от Апрель 25, 2012, 13:35



Название: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 13:35
Для пробы рисовал форму в дизайнере. Потом решил ее делать ручками. Удалил форму из проекта, почистил полностью проект, удалил все упоминания о ui_ файлах. При попытке компиляции говорит, что не находит все мои h-файлы, хотя QtCreator их видит. Не пойму - уж и сам сайл проекта почистил. Несколько раз пробовал - все равно одно и тоже. Где еще нужно почистить?


Название: Re: Как убрать форму из проекта
Отправлено: Bepec от Апрель 25, 2012, 13:39
Эм. Никто, НИкто, НИКто, НИКТо, НИКТО незнает, где и как вы почистили.
НИКТОООООО *АРРРР*

Код в студию. Ошибки в студию.


Название: Re: Как убрать форму из проекта
Отправлено: Igors от Апрель 25, 2012, 13:47
Для пробы рисовал форму в дизайнере. Потом решил ее делать ручками.
Используя ресурсы (см QFormBuilder) можно рисовать в дизайнере (визувл фидбэк и все такое), но потом не тащить код что он наколбасит. Это как бы "и охота и зверей убивать не надо"  :) 


Название: Re: Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 13:49
Вот файл проекта

Код:
#-------------------------------------------------
#
# Project created by QtCreator 2012-03-22T15:16:08
#
#-------------------------------------------------

QT       += core gui

win32:DESTDIR = ./Release/Windows
unix:DESTDIR = ./Release/Linux

debug:OBJECTS_DIR = ./Obj/debug
!debug:OBJECTS_DIR = ./Obj/release

MOC_DIR = $$OBJECTS_DIR
RCC_DIR = ./Resources

TARGET = LogHX3
TEMPLATE = app


SOURCES += main.cpp\
        Calculator/calcwindow.cpp \
    Utils/wwlocator.cpp \
    Map/mapobject.cpp \
    LogWindows/abstractlogwindow.cpp \
    Log/mainform.cpp \
    Global/global.cpp \
    Map/mapwindow.cpp \
    Map/azimuthmapobject.cpp \
    Map/azimuthmapwindow.cpp

HEADERS  += Calculator/calcwindow.h \
    Utils/wwlocator.h \
    Map/mapobject.h \
    LogWindows/abstractlogwindow.h \
    Log/mainform.h \
    Global/global.h \
    Map/mapwindow.h \
    Map/azimuthmapobject.h \
    Map/azimuthmapwindow.h

FORMS    += Calculator/calcwindow.ui

RC_FILE = Resources/log.rc
RESOURCES = Resources/log.qrc

Чищу проект данным батником:
Код:
del /S /Q Obj
del Makefile
del Makefile.Debug
del Makefile.Release
del object_script.*


Как видно из него - форма в нем только одна.
Открываю проект в креаторе. Слева у меня есть папка Формы. От туда удаляю через Del единственную форму.
В файле Calculator.h удаляю строку Ui::CalcWindow *ui;
Все. Запускаем проект на компиляцию - далее как описал выше


Название: Re: Как убрать форму из проекта
Отправлено: Bepec от Апрель 25, 2012, 13:53
А то, что в Calculator.h имеется строка
#include "ui_calculator.h"
вас не волнует?


Название: Re: Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 14:11
А то, что в Calculator.h имеется строка
#include "ui_calculator.h"
вас не волнует?

Нет. Я ее тоже убирал. Ничего не меняется.
Такое впечатление, что в файлах ui_ было какое то #include, и поле их удаления, это инклуде пропало... Сейчас изучаю эти файлы, но пока ничего не нашел..


Название: Re: Как убрать форму из проекта
Отправлено: Bepec от Апрель 25, 2012, 14:24
Вы страдаете фенфёй парторассовсой.

Проще выражаясь - прекрати искать хрень всякую в уи файлах и выложи свой недоделанный проект. Проблема в твоём проекте, в твоём коде, а не в "неподключенных" файлах.


Название: Re: Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 14:42
Вот я сейчас исправил проект - вообще все что можно удалил - вообще классы только объявлены
Все равно ругается !


Название: Re: Как убрать форму из проекта
Отправлено: _OLEGator_ от Апрель 25, 2012, 14:55
проект засран, пути к инклудам не корректные у класса CalcWindow нет мемберов cLat, cLon, dLat, dLon.

это ужас какой-то, форум превращается в быдлокодеров, которые не могут элементарно сесть и изучить все основы, прочитать книги, понять как все организовано и строиться, понять какие ошибки выдает среда разработки и компилятор, но это не для нас, мы лезем на форум по любому поводу!


Название: Re: Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 15:03
Не надо ругаться.
Причем тут cLat, cLon, dLat, dLon? Почему люди, которые хотя мне помощь, должны разбираться в моих исходниках - поудалял я все из классов - а это забыл. Но первая строчка ошибки - не может найти файл globallogvar.h - хотя он в проекте есть. При этом пока была форма - все нормально компилилось.


Название: Re: Как убрать форму из проекта
Отправлено: _OLEGator_ от Апрель 25, 2012, 15:08
это пока ты файлы по папкам не рассовал и сидишь думаешь, почему у тебя из одной папки другая не видна.
например abstractlogwindow.h лежит в LogWindows, на уровне с которой находится Global, инклуд прописывается так: #include "Global/globallogvar.h"

вопрос - где ошибка?


Название: Re: Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 15:16
Да, действительно, пути не правильно прописаны.
Объясни мне тогда такую вещь - почему, пока в проекте была форма - пути , которые у меня прописаны - были правильные, т.е. как бы относительно main.cpp, как только я форму удалил, пути стало нужно писать уже относительно конкретного файла, где он встречается?
Ведь до удаления формы все без проблем компилилось?
Книги я как раз читаю. Но там не все есть.


Название: Re: Как убрать форму из проекта
Отправлено: _OLEGator_ от Апрель 25, 2012, 15:21
потому что ты не просто форму удалял, а наверняка инклуды добавлял в файлы


Название: Re: Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 15:23
Ответ на свой вопрос я по моему нашел - когда есть форма, то файл ui_названиеокнаформы.h создается там, где лежит файл проекта. И пути почему то нужно указывать относительно файла проекта. Когда форм в проекте нет - то путь указывается относительно файла, где он используется.
Интересно, в какой книге это написано?  ???


Название: Re: Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 15:24
потому что ты не просто форму удалял, а наверняка инклуды добавлял в файлы

Я еще раз говорю - ТОЛЬКО УДАЛИЛ ФОРМУ. Не надо всех уж такими идиотами считать :)


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Bepec от Апрель 25, 2012, 15:37
Сужу по 1 реплике - уже небрежно относитесь к своей проблеме и к людям на форуме ;)


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 17:30
Надо же меня быдлом обозвали (а писал то в теме для новичков), так оказывается я еще небрежно к людям на форуме отношусь.. :)


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex Custov от Апрель 25, 2012, 17:54
не быдлом, а быдлокодером :) По теме - это какое-то недопонимание чего-то. Чего сказать сложно, т.к. для этого нужно два проекта - с формой и без. Без формы не компилируется по понятной причине - Global/globallogvar.h лежит не в LogWindows, а на уровень выше.


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: kambala от Апрель 25, 2012, 18:38
в любой книге по Qt для начинающих, как и в документации, описано что такое ui файлы, что делает с ними их компилятор uic и какие файлы он генерирует.


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 20:56
не быдлом, а быдлокодером :) По теме - это какое-то недопонимание чего-то.

Назовем  это так - не желанием понять :) А рисануться какой я кулцпроггер. А разве в теме для "начинающих" это круто?

в любой книге по Qt для начинающих, как и в документации, описано что такое ui файлы, что делает с ними их компилятор uic и какие файлы он генерирует.

Еще раз для тех кто в танке: укажите мне страницу, где то, что я описал написано. Читаю по 3-5 разу все книги, что изданы по Qt, по тому как есть необходимость очень большой проект на Дельфи сделать на Qt . Проект - бесплатный. Нужна кросс-платформенность.
Где про относительные пути при наличии и отсутствии формы написано? Нигде!


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 20:58
Еще раз продублирую:
когда есть форма, то файл ui_названиеокнаформы.h создается там, где лежит файл проекта. И пути почему то нужно указывать относительно файла проекта. Когда форм в проекте нет - то путь указывается относительно файла, где он используется.
Проверено - так и есть.


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex Custov от Апрель 25, 2012, 21:04
И пути почему то нужно указывать относительно файла проекта. Когда форм в проекте нет - то путь указывается относительно файла, где он используется.

Это опять же какое-то недопонимание. Приложи код, где "пути почему то нужно указывать относительно файла проекта".


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 21:15
Это опять же какое-то недопонимание. Приложи код, где "пути почему то нужно указывать относительно файла проекта".

Я сейчас дома. Проект - на работе. Но все же согласитесь - смысла мне врать нет.
На счет путей - я 3 недели на Qt программирую. Сам удивился, по началу, что пути относительно main.cpp указываются. После удаления формы как бы все встало на свои места. Почему - не знаю. Проблема была.


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex Custov от Апрель 25, 2012, 21:32
Я сейчас дома. Проект - на работе. Но все же согласитесь - смысла мне врать нет.
На счет путей - я 3 недели на Qt программирую. Сам удивился, по началу, что пути относительно main.cpp указываются. После удаления формы как бы все встало на свои места. Почему - не знаю. Проблема была.

Поэтому я и говорю, что это недопонимание, которое в твоей голове складывается как закономерность. Пути к заголовкам рассчитываются относительно каталога, где лежит компилируемый в данный момент TU (.cpp файл). Поэтому в проект проще всего добавить INCLUDEPATH и DEPENDPATH для всех подкаталогов проекта, и не использовать заголовки вида "log\log.h", а использовать "log.h".


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 22:00
Я почему то не могу из дома приложить фаил


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 22:02
Я у себя дома все нашел!))) Все попробовал. Я был прав))) Я не могу проект прикрепить из дома- но я прав))) Я могу по емайлу выслать!


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 22:07
Еще раз: у меня проект - все пути указаны относительно main.cpp - в проекте есть форма, созданная дизайнером. Если удалить форму - все пути нужно менять относительно файлов, где они используются. Если пути изменить до удаления формы - ругается, пути не те.
Уважаемые НАЧИНАЮЩИЕ - это для Вас! Чтоб Вас профи в дальнейшем не гнобили! :)


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Bepec от Апрель 25, 2012, 22:32
Помоему мы наткнулись на нуба... Который с радостным ликом, наверняка (как я представляю), забил логику в интерфейс ui файлов. Соединил всё это аццкое месиво жилами девственниц, да залил прокисшим борщом.

Теперь же уже третью реплику подряд давит своим интеллектом "Я ПРАВ, ВЫ НЕПРАВЫ, НО Я ... немогу ничего доказать/описать/приложить/отослать" :D

Тролль да и только.


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 22:52
Тролль да и только.

Не  переживай - уже на флешку скопировал - с работы выложу.
А на счет всего остального - конечно, код стоит денег. Жаль мне тех, кто тут ищет решения))) Я ж по натуре холерик - да, сначала пишу, потом все сам нахожу. Но! Все же тролль - это плохой ))) А я - хороший))


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 25, 2012, 22:54
(как я представляю), забил логику в интерфейс ui файлов.

По началу не прочел это.
Ну знаешь - если ты только мог такое предположить - ты и есть.. как его .. нумб. Ни у одного нормального человека не могло это в голову прийти. Не стоит свои проблемы перекладывать на других))


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex Custov от Апрель 25, 2012, 23:56
выложи на ifolder.ru


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 26, 2012, 00:10
Спасибо! Выложил! http://ifolder.ru/30141712


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Bepec от Апрель 26, 2012, 07:41
Печально. Агрессивный тролль пассивного диссонанса мозговой активности ;)

Раньше с такими не сталкивался, ужжасно!

update:

Посмотрел проект... Мдэ... Намешано столько, что глаза в буквальном смысле начинают лопаться. Конечного результата правда не понял, так же как и нескольких (5-7 классов).
И да - все твои "пути", которые ты прописывал, рабочие даже без формы. (что логично) Однако пути к иконкам нерабочие ;) Я не смог ими насладиться в твоей программе :D

PS начинание конечно глобальное. Не буду судить (ибо нефиг судить то, что не собираешься править ;) ), но советую всякую чушь про пути не нести ;)


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 26, 2012, 08:13
Печально.

Действительно печально что у нас так любят человека ... при том, что ничего свехестественного я ведь не спрашивал :)


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 26, 2012, 08:22
И все же если отвлечься от лирики - реально кто нибудь мой проект попробовал? И может сказать, почему пути в разных случаях нужно разные указывать?


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Bepec от Апрель 26, 2012, 08:24
Скажу проще - посмотрев ваш проект, разбираться в нём не хочется. Не столько из-за того, как вы относитесь к людям, сколько из-за того, как он написан.


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 26, 2012, 08:27
PS начинание конечно глобальное. Не буду судить (ибо нефиг судить то, что не собираешься править ;) ), но советую всякую чушь про пути не нести ;)

Причем тут начинание? Проект уже давно есть и проект большой. Сделано все на Дельфи. Есть пожелание - чтоб он работал на Линуксе. Сначала хотел Лазарусом воспользоваться. Но посоветовали посмотреть в сторону Qt.
Посмотрел - поразился как на Qt все сделано на порядок правильнее, чем на том же Дельфи.
По этому хочу не просто "переписать" проект, а сделать что называется правильно. Вот по этому и изначально такое большое кол-во классов. В дальнейшем все это упростит разработку - в проекте много однотипных окон - для наследования самое то!


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 26, 2012, 08:29
как вы относитесь к людям

Я к людям отношусь очень доброжелательно! :) Чего и Вам желаю!


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Bepec от Апрель 26, 2012, 08:37
Угум Агам, вашими молитвами.
Начните на Qt  с простого хотя б... Но врядли этот голос разума будет услышан...


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 26, 2012, 09:36
Начните на Qt  с простого хотя б... Но врядли этот голос разума будет услышан...

Совершенно с Вами согласен - именно по этому задаю тут самые простые вопросы.
Тем более в Qt подкупает то, что не надо с WinAPI разбираться - допустим в Дельфи мне пришлось работу по телнет протоколу и по HTTPS полностью писать на API - ну нет нормальных готовых решений. Тут же проверил - все готовое работает :)

Есть предложение - пожать друг другу руку и пойти кодить :)


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Bepec от Апрель 26, 2012, 09:42
Я не отрываюсь от работы и не заостряю внимание на простых темах. ;) Возможно вам этому надо научиться?


Название: Re: [Решено]Как убрать форму из проекта
Отправлено: Alex_C от Апрель 26, 2012, 10:27
Возможно вам этому надо научиться?

Согласен! Учиться никогда не поздно! :)