You can make frames.pri include frame1.pri and frame2.pri; just take
the technique I showed you and extend upon it. I knew what I was
showing you didn't completely match; I'm not doing your homework for
you. :P

/s/ Adam

On Mon, Aug 16, 2010 at 11:42 PM, Jakov <dkym...@gmail.com> wrote:
> Dear Adam,
>
> It works! Thank you a lot!
>
> However, the layout is not completely as I expected. Or my expected layout
> is impossible for this current Qt Creator version (2.0.0)? I'd like the
> hierarchical layout should be like this:
>
> <Prj_root>
> .....|__ Frames
> ..............|__Frame1
> .....................|__Forms
> .............................|__frame1.ui
> .....................|__Headers
> .............................|__frame1.h
> .....................|__Sources
> .............................|__frame1.cpp
> .............|__Frame2
> .....................|__Forms
> .............................|__frame2.ui
> .....................|__Headers
> .............................|__frame2.h
> .....................|__Sources
> .............................|__frame2.cpp
> .......|__Forms
> ................|__ex1.ui
> .......|__Headers
> ................|__ex1.h
> .......|__Sources
> ................|__ex1.cpp
> ................|__main.cpp
>
>
> If QtCreator supports this, it's great. And I can try another layout that I
> tried some days ago, but failed:
>
> <Group Project>
> .........|__ <Main Project>
> ..................|__ main.pro
> ..................|__ <other files>
> .........|__ Share
> ..................|__ SharedForm1
> ..................|__ SharedForm2
>
> In which, Main Project uses SharedForm1, 2, etc.
>
> Thanks so much for taking time helping me.
>
> Best regards,
>
> -- Jakov
>
>
>
>
> On Tue, Aug 17, 2010 at 9:19 AM, Coda Highland <c...@bobandgeorge.com>
> wrote:
>>
>> My thought on the matter would be something like this:
>>
>> ex1.pro:
>> include(Frames/Frames.pri)
>>
>> Frames/Frames.pri:
>> HEADERS += Frames/Frame1/Frame1.h Frames/Frame2/Frame2.h
>> SOURCES += Frames/Frame1/Frame1.cpp Frames/Frame2/Frame2.cpp
>> FORMS += Frames/Frame1/Frame1.ui Frames/Frame2/Frame2.ui
>>
>> et cetera. Notice that you still need to use the path relative to
>> ex1.pro, not to the .pri file -- this is a fairly common mistake.
>>
>> /s/ Adam
>>
>> On Mon, Aug 16, 2010 at 6:33 PM, Jakov <dkym...@gmail.com> wrote:
>> > Hello Alan,
>> >
>> > I'm editing the pri files. I search the old archive, and find out that
>> > whenever I include a .pri file, Qt Creator "creates" a virtual directory
>> > (a
>> > node) in the Projects window (on the left side).
>> >
>> > The main .pro file will include the frames.pri, so it would "create" the
>> > Frames node in the window:
>> > + ex1.pro: include( Frames/Frames.pri)
>> > + frames.pri:
>> > I think the frames.pri should do the same:
>> > include(Frames/Frame1/frame1.pri), but it doesn't work... So I left
>> > frames.pri empty.
>> >
>> > At this step, if I put a class in Frames dir, the project works fine.
>> > But I
>> > do want to make a lower level: adding Frame1 and Frame2 directories
>> > (which
>> > include their own classes) within Frames.
>> >
>> > There's no link line yet, Alan.
>> >
>> > Thanks for your quick reply!
>> >
>> > Jakov
>> >
>> >
>> > On Tue, Aug 17, 2010 at 6:20 AM, <alan.westbr...@nokia.com> wrote:
>> >>
>> >> Ahh, I see.
>> >> What does the first .pri file look like?
>> >> Do you see the frame.cpp files compile from the compiler output?
>> >> What does your link line look like?
>> >> Alan
>> >> On Aug 16, 2010, at 3:54 PM, ext Jakov wrote:
>> >>
>> >> Dear Adam,
>> >>
>> >> Thanks for your reply. I remove the subdirs already, to make it a
>> >> normal
>> >> app project. I "try-and-error" many ways, but the layout is not as
>> >> expected.
>> >> Could you please suggest me the config or give me the document of using
>> >> .pro
>> >> and .pri file? The idea is, I want to group individual classes (.h,
>> >> .cpp,
>> >> .ui) in a separate directory (to have a better look, easy to
>> >> find/edit/manage...) within the main project dir, or even at the same
>> >> directory level with main project dir.
>> >>
>> >> I'd like to thank Alan, but there's no libs yet. They're just pure UI
>> >> classes, just at lower directory level, as compared to main project
>> >> directory. I'll not include every single .h, .cpp, and .ui in the
>> >> HEADERS,
>> >> SOURCES, FORMS in the main .pro, as those files will be included in
>> >> corresponding nodes (Headers, Sources, Forms) separately.
>> >>
>> >> I'm looking forward to your guide... In the meantime, I'll try-'n-error
>> >> again. I look at demo and examples in Qt SDK, but there's no helpful
>> >> examples... Thank you again.
>> >>
>> >> BR,
>> >> Jakov
>> >>
>> >>
>> >> On Mon, Aug 16, 2010 at 9:31 PM, Coda Highland <c...@bobandgeorge.com>
>> >> wrote:
>> >>>
>> >>>  First off, don't use a subdirs project for that. Just use a normal
>> >>> "app" project and use relative paths in the .pro file. If you want to
>> >>> organize the .pro file you can use include() with some .pri files --
>> >>> Creator knows how to sort this out. (Note that .pri files consider
>> >>> paths relative to the main .pro file, not to itself.)
>> >>>
>> >>> Second, "INCLUDEPATH += Frames" in the main .pro file (or possibly in
>> >>> frames.pri) so that "Frame1/Frame1.h" can be found inside of the
>> >>> "Frames" directory.
>> >>>
>> >>> /s/ Adam
>> >>>
>> >>> On Mon, Aug 16, 2010 at 8:51 AM, Jakov <dkym...@gmail.com> wrote:
>> >>> > Hello Group,
>> >>> >
>> >>> > I have a question about organizing subdir/nested classes in Qt
>> >>> > Creator.
>> >>> > I
>> >>> > intend to use dozens classes (inherit from QFrame), to be promoted
>> >>> > later. I
>> >>> > want to have each of them grouped in a separate folder (dir). Like
>> >>> > this:
>> >>> >
>> >>> > <PROJECT_ROOT>
>> >>> > ----- Frames
>> >>> > --------- - frames.pro
>> >>> > --------- - Frame1
>> >>> > ---------------- frame1.h
>> >>> > ---------------- frame1.cpp
>> >>> > ---------------- frame1.ui
>> >>> > ---------------- frame1.pri
>> >>> > -------- - Frame2
>> >>> > ---------------- frame2.h
>> >>> > ---------------- frame2.cpp
>> >>> > ---------------- frame2.ui
>> >>> > ---------------- frame2.pri
>> >>> > ----- ex1.pro
>> >>> > ----- ex1.h
>> >>> > ----- ex2.cpp
>> >>> >
>> >>> > File frame?.pri indicates HEADERS, SOURCES, FORMS
>> >>> > File frames.pro simply includes those *.pri files.
>> >>> > File ex1.pro:
>> >>> > + TEMPLATE = app subdirs
>> >>> > + SUBDIRS     += Frames
>> >>> >
>> >>> > That's it. The problem comes when I'm trying to use frame1, frame2
>> >>> > in
>> >>> > the
>> >>> > main project (ex1). Although I specify INCLUDEPATH += Frames/Frame1
>> >>> > in
>> >>> > the
>> >>> > ex1.pro, ex1 can "see" frame1.h, but it doesn't know about
>> >>> > frame1.cpp,
>> >>> > so an
>> >>> > error thrown: undefined reference to `TFrame1::TFrame1(QWidget*)'
>> >>> >
>> >>> > I'll try to summary the problem: how to put individual classes in
>> >>> > subdir
>> >>> > freely?
>> >>> >
>> >>> > Please help me.
>> >>> >
>> >>> > Thank you in advance!!!
>> >>> >
>> >>> > Best regards,
>> >>> >
>> >>> > Jakov
>> >>> >
>> >>> > _______________________________________________
>> >>> > Qt-creator mailing list
>> >>> > Qt-creator@trolltech.com
>> >>> > http://lists.trolltech.com/mailman/listinfo/qt-creator
>> >>> >
>> >>> >
>> >>>
>> >>> _______________________________________________
>> >>> Qt-creator mailing list
>> >>> Qt-creator@trolltech.com
>> >>> http://lists.trolltech.com/mailman/listinfo/qt-creator
>> >>
>> >> <ATT00001..txt>
>> >>
>> >> _______________________________________________
>> >> Qt-creator mailing list
>> >> Qt-creator@trolltech.com
>> >> http://lists.trolltech.com/mailman/listinfo/qt-creator
>> >>
>> >
>> >
>> > _______________________________________________
>> > Qt-creator mailing list
>> > Qt-creator@trolltech.com
>> > http://lists.trolltech.com/mailman/listinfo/qt-creator
>> >
>> >
>>
>> _______________________________________________
>> Qt-creator mailing list
>> Qt-creator@trolltech.com
>> http://lists.trolltech.com/mailman/listinfo/qt-creator
>
>
> _______________________________________________
> Qt-creator mailing list
> Qt-creator@trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-creator
>
>

_______________________________________________
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator

Reply via email to