Hi Jakov, I think Adam already told you all you need. Thank you, Adam! Have Animal.pro, which includes Dog.pri and Cat.pri. There, list the respective headers and sources.
For further reference have a look at: http://doc.qt.nokia.com/4.6/qmake-manual.html Regards, Robert Am 24.08.2010 01:49, schrieb ext Jakov: > Dear Robert, > > Could you please take a look at my thread about organizing nested directories > in the next Qt Creator release? > > In short, the project tree is like that: A normal Qt Project, with a pure > directory, called Animal. I say "pure" because it's just a normal directory, > not a project directory. This dir contains 2 subdirs: Dog and Cat. Each of > them contains a Qt Class (.h, .cpp, .ui). That's all. > > Current Qt Creator can't do that. The first way, Dog and Cat would be placed > at the same level with Animal. This way doesn't reflect the physical > structure. The second way, Animal has 3 nodes: Forms, Headers, and Sources. > Corresponding type of each class (form of Dog, form of Cat; header of Dog, > header of Cat, etc) would be included in those nodes. This way seems > intricate, complicated,... and not what the user expected. > > I read many threads about this issue: > http://www.mail-archive.com/[email protected]/msg01774.html Many users > like to have this feature. > > Thank you and the Team so much! > > Best regards, > > Jakov > > On Fri, Aug 20, 2010 at 9:03 AM, > Jakov<[email protected]<mailto:[email protected]>> wrote: > Hi group, > > I'm giving up. Is Qt Creator able to display nested directories? In theory, > ex01.pro<http://ex01.pro/> includes Frames/Frames.pri, then Frames.pri > includes Frame1/Frame1.pri, and Frame2/Frame2.pri. But it doesn't work as > expected. > > Clearly Qt Creator 2.0.0 has many more nice features as compared to 1.x.x, > but why I still find hard to use it... My favourite IDE is C++Builder 2009, > and now I'm moving to Qt's world. Could you give me your hands :-) > > Thanks and have a nice day. > > -- J > > On Wed, Aug 18, 2010 at 2:04 PM, > Jakov<[email protected]<mailto:[email protected]>> wrote: > Dear Adam, > > Oh no, I don't mean it. But I'm not able to find a sufficient (official?) > documentation about these configurations. I just try-and-error'ed. > If you're sure of the possibility of the expected layout above, I'll try > more. It's strange that I always see the Frame1 and Frame2 stay at the same > level with Frames as per your guide... > > Thanks and have a nice day. > > -- Jakov > > > On Tue, Aug 17, 2010 at 9:48 PM, Coda > Highland<[email protected]<mailto:[email protected]>> wrote: > 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<[email protected]<mailto:[email protected]>> 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<http://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<[email protected]<mailto:[email protected]>> >> wrote: >>> >>> My thought on the matter would be something like this: >>> >>> ex1.pro<http://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<http://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<[email protected]<mailto:[email protected]>> 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<http://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,<[email protected]<mailto:[email protected]>> 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<[email protected]<mailto:[email protected]>> >>>>> 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<[email protected]<mailto:[email protected]>> 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<http://frames.pro/> >>>>>>> --------- - Frame1 >>>>>>> ---------------- frame1.h >>>>>>> ---------------- frame1.cpp >>>>>>> ---------------- frame1.ui >>>>>>> ---------------- frame1.pri >>>>>>> -------- - Frame2 >>>>>>> ---------------- frame2.h >>>>>>> ---------------- frame2.cpp >>>>>>> ---------------- frame2.ui >>>>>>> ---------------- frame2.pri >>>>>>> ----- ex1.pro<http://ex1.pro/> >>>>>>> ----- ex1.h >>>>>>> ----- ex2.cpp >>>>>>> >>>>>>> File frame?.pri indicates HEADERS, SOURCES, FORMS >>>>>>> File frames.pro<http://frames.pro/> simply includes those *.pri files. >>>>>>> File ex1.pro<http://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<http://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 >>>>>>> -- Robert Löhning Software Engineer Nokia, Qt Development Frameworks Qt Developer Days 2010 | Registration NOW Open! Munich, Germany: October 11th - 13th San Francisco, California: November 1st - 3rd For more information and to register: http://qt.nokia.com/qtdevdays2010<http://qt.nokia.com/about/events> _______________________________________________ Qt-creator mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-creator
