Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. how we can access data of one project within other project?
Qt 6.11 is out! See what's new in the release blog

how we can access data of one project within other project?

Scheduled Pinned Locked Moved General and Desktop
24 Posts 4 Posters 14.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pratik041
    wrote on last edited by
    #14

    [quote author="sierdzio" date="1323677232"]You've got spaces in your paths (file_testing.pro). That is why qmake understands "Documents" as a file. I don't remember what a remedy for that was in qmake. Try either to enclose the whole path in quotes, or insert '' in front of every space (probably won't work, as '' is used in a different manner in qmake).

    Apart from that, I am not sure you can use 2 QMainWindows in a single app (I've never tried to, though. And I can't find anything against it in QMW documentation, so maybe it's OK).[/quote]

    I have used two QMainWindow before also. Their is no problem in using that. As you have suggested
    i have checked using double quotes but in that case also it is showing error that
    @No rule to make target 'path/mainwindow1.cpp' needed by 'debug/mainwindow1.o' . Stop. @
    I have checked removing spaces between the path also but i am getting the same error.

    Pratik Agrawal

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #15

      OK noticed another issue. In your code, you have this (shortened a bit for convenience):
      @
      SOURCES += main.cpp
      mainwindow.cpp

      HEADERS += mainwindow.h

      HEADERS = test1/mainwindow1.h
      SOURCES = test1/mainwindow1.cpp
      @

      The second invoke of HEADERS and SOURCES is followed by '=', which means it will overwrite previous entries. Try this instead (remember to use your own paths):
      @
      SOURCES += main.cpp
      mainwindow.cpp
      test1/mainwindow1.cpp

      HEADERS += mainwindow.h
      test1/mainwindow1.h
      @

      (Z(:^

      1 Reply Last reply
      0
      • P Offline
        P Offline
        pratik041
        wrote on last edited by
        #16

        [quote author="sierdzio" date="1323681848"]OK noticed another issue. In your code, you have this (shortened a bit for convenience):
        @
        SOURCES += main.cpp
        mainwindow.cpp

        HEADERS += mainwindow.h

        HEADERS = test1/mainwindow1.h
        SOURCES = test1/mainwindow1.cpp
        @

        The second invoke of HEADERS and SOURCES is followed by '=', which means it will overwrite previous entries. Try this instead (remember to use your own paths):
        @
        SOURCES += main.cpp
        mainwindow.cpp
        test1/mainwindow1.cpp

        HEADERS += mainwindow.h
        test1/mainwindow1.h
        @[/quote]
        On changing this i am getting undeclared error.

        Pratik Agrawal

        1 Reply Last reply
        0
        • G Offline
          G Offline
          goetz
          wrote on last edited by
          #17

          Do you use shadow builds with Qt Creator?

          http://www.catb.org/~esr/faqs/smart-questions.html

          1 Reply Last reply
          0
          • R Offline
            R Offline
            Rahul Das
            wrote on last edited by
            #18

            The code you gave is working for me, except that i changed
            the header in the first project 'file_testing' to
            @#ifndef MAINWINDOW_H
            #define MAINWINDOW_H

            #include <QtGui/QMainWindow>

            class MainWindow : public QMainWindow
            {
            Q_OBJECT

            public:
            MainWindow(QWidget *parent = 0);
            ~MainWindow(){};
            };

            #endif // MAINWINDOW_H@

            I felt, the destructor was improperly positioned ;)


            Declaration of (Platform) independence.

            1 Reply Last reply
            0
            • P Offline
              P Offline
              pratik041
              wrote on last edited by
              #19

              [quote author="Volker" date="1323688757"]Do you use shadow builds with Qt Creator?[/quote]

              yes i used shadow build.

              Pratik Agrawal

              1 Reply Last reply
              0
              • G Offline
                G Offline
                goetz
                wrote on last edited by
                #20

                [quote author="pratik041" date="1323690516"]
                [quote author="Volker" date="1323688757"]Do you use shadow builds with Qt Creator?[/quote]

                yes i used shadow build.[/quote]

                Then I'm not 100% sure whether the approach I suggested does actually work as the directory layout is a bit delicate in that case.

                http://www.catb.org/~esr/faqs/smart-questions.html

                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  pratik041
                  wrote on last edited by
                  #21

                  [quote author="Rahul Das" date="1323690185"]The code you gave is working for me, except that i changed
                  the header in the first project 'file_testing' to
                  @#ifndef MAINWINDOW_H
                  #define MAINWINDOW_H

                  #include <QtGui/QMainWindow>

                  class MainWindow : public QMainWindow
                  {
                  Q_OBJECT

                  public:
                  MainWindow(QWidget *parent = 0);
                  ~MainWindow(){};
                  };

                  #endif // MAINWINDOW_H@

                  I felt, the destructor was improperly positioned ;)[/quote]

                  Actually in my code i have used it properly while pasting the destructor is pasted wrongly.
                  Does you are able to access other project object in your code?

                  Pratik Agrawal

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    Rahul Das
                    wrote on last edited by
                    #22

                    yes. i compiled and its working. I used the relative path. May be you should also try.


                    Declaration of (Platform) independence.

                    1 Reply Last reply
                    0
                    • P Offline
                      P Offline
                      pratik041
                      wrote on last edited by
                      #23

                      [quote author="Rahul Das" date="1323690185"]The code you gave is working for me, except that i changed
                      the header in the first project 'file_testing' to
                      @#ifndef MAINWINDOW_H
                      #define MAINWINDOW_H

                      #include <QtGui/QMainWindow>

                      class MainWindow : public QMainWindow
                      {
                      Q_OBJECT

                      public:
                      MainWindow(QWidget *parent = 0);
                      ~MainWindow(){};
                      };

                      #endif // MAINWINDOW_H@

                      I felt, the destructor was improperly positioned ;)[/quote]
                      I have tried using relative path but i dont know why the error is coming can you post your code?

                      Pratik Agrawal

                      1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        Rahul Das
                        wrote on last edited by
                        #24

                        The project to be imported is in a folder named 'a spaced folder'.

                        main.cpp
                        @#include <QtGui/QApplication>
                        #include "mainwindow.h"
                        #include "../a spaced folder/test2/mainwindow1.h"

                        int main(int argc, char *argv[])
                        {
                        QApplication a(argc, argv);
                        MainWindow w;
                        MainWindow1 w1;
                        w.show();
                        w1.show();
                        w1.setWindowTitle("this is imported");
                        return a.exec();
                        }@

                        Header
                        @
                        #ifndef MAINWINDOW_H
                        #define MAINWINDOW_H

                        #include <QtGui/QMainWindow>

                        class MainWindow : public QMainWindow
                        {
                        Q_OBJECT

                        public:
                        MainWindow(QWidget *parent = 0);
                        ~MainWindow(){}
                        };

                        #endif // MAINWINDOW_H
                        @

                        source
                        @#include "mainwindow.h"

                        MainWindow::MainWindow(QWidget *parent)
                        : QMainWindow(parent)
                        {
                        }
                        @
                        @QT += core gui

                        TARGET = test
                        TEMPLATE = app

                        SOURCES += main.cpp
                        mainwindow.cpp "../a spaced folder/test2/mainwindow1.cpp"

                        HEADERS += mainwindow.h "../a spaced folder/test2/mainwindow1.h"@


                        Project to be imported.

                        pro
                        @
                        QT += core gui

                        TARGET = test2
                        TEMPLATE = app

                        SOURCES += main.cpp
                        mainwindow1.cpp

                        HEADERS += mainwindow1.h@

                        header

                        @#ifndef MAINWINDOW1_H
                        #define MAINWINDOW1_H

                        #include <QtGui/QMainWindow>

                        class MainWindow1 : public QMainWindow
                        {
                        Q_OBJECT

                        public:
                        MainWindow1(QWidget *parent = 0);
                        ~MainWindow1();
                        };

                        #endif // MAINWINDOW1_H@

                        Source
                        @#include "mainwindow1.h"

                        MainWindow1::MainWindow1(QWidget *parent)
                        : QMainWindow(parent)
                        {
                        }

                        MainWindow1::~MainWindow1()
                        {
                        }
                        @

                        main.cpp
                        @#include <QtGui/QApplication>
                        #include "mainwindow1.h"

                        int main(int argc, char *argv[])
                        {
                        QApplication a(argc, argv);
                        MainWindow1 w;
                        w.show();

                        return a.exec&#40;&#41;;
                        

                        }@


                        Declaration of (Platform) independence.

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved