Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Solved Problem with QProcess (extern Program)

    General and Desktop
    7
    11
    213
    Loading More Posts
    • 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.
    • 0
      0815Joe last edited by

      Hello Forum,

      as you probably already read in the headline, I have a problem with QProcess. I can't manage to start an external bash script with parameters.

      The program compiles without errors and can also be started and runs to the end, but without starting the script.

      I develop with the QT Creator on the OSX operating system (Big Sur).

      QString program = "bashscriptTest";
      QStringList arguments;
      arguments << "-o" << "TESTPARAMETER";
      
      QProcess myProcess ;
      myProcess.start(program, arguments);
      

      Kind regards
      0815Joe

      Pl45m4 jsulm 2 Replies Last reply Reply Quote 0
      • Pl45m4
        Pl45m4 @0815Joe last edited by

        @0815Joe

        If you need a shell, you need to start the bash first.

        Something like:

        QString program = "/bin/sh";
        QStringList arguments;
        arguments << "bashscriptTest" << "-o" << "TESTPARAMETER";
        
        QProcess myProcess ;
        myProcess.start(program, arguments);
        

        might work.


        If debugging is the process of removing software bugs, then programming must be the process of putting them in.

        ~E. W. Dijkstra

        JonB 1 Reply Last reply Reply Quote 1
        • jsulm
          jsulm Lifetime Qt Champion @0815Joe last edited by

          @0815Joe To add to @Pl45m4 you should add error handling to get more information about what is failing.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply Reply Quote 1
          • JonB
            JonB @Pl45m4 last edited by JonB

            @Pl45m4 said in Problem with QProcess (extern Program):

            QString program = "/bin/sh";

            You might rather want QString program = "/bin/bash"; :D

            You could instead make the first line of your script be #!/bin/bash and make the file executable via chmod +x bashscriptTest. Then your original code of QString program = "bashscriptTest"; should work as-is (with its arguments).

            1 Reply Last reply Reply Quote 1
            • 0
              0815Joe last edited by

              At first thank you all for your help.

              But nothing is working.

              mrjj 1 Reply Last reply Reply Quote 0
              • Christian Ehrlicher
                Christian Ehrlicher Lifetime Qt Champion last edited by

                @0815Joe said in Problem with QProcess (extern Program):

                But nothing is working.

                That's no proper error report. Please show what you've done.

                Qt has to stay free or it will die.

                1 Reply Last reply Reply Quote 0
                • mrjj
                  mrjj Lifetime Qt Champion @0815Joe last edited by

                  @0815Joe

                  Hi
                  Where is the script ?
                  You just say "bashscriptTest" (with no paths to the script file)
                  so for Qt to find it, it must be right next to the .exe or
                  in some place where it will search for it. (system paths)

                  1 Reply Last reply Reply Quote 1
                  • JoeCFD
                    JoeCFD last edited by JoeCFD

                    your qt app path might be different from where the script is located. Add absolute path to bashscriptTest and your code will be good.

                    1 Reply Last reply Reply Quote 1
                    • 0
                      0815Joe last edited by

                      @JoeCFD The bashscriptTest is also in the build path.
                      i will try the absolute path later today.

                      Then i am giving you an answer :-)

                      JonB 1 Reply Last reply Reply Quote 0
                      • JonB
                        JonB @0815Joe last edited by

                        @0815Joe
                        I don't know what "the build path" is, but it doesn't sound like it would be available/have any significance at runtime (outside of Qt Creator).

                        0 1 Reply Last reply Reply Quote 0
                        • 0
                          0815Joe @JonB last edited by

                          Hello to all who helped me.

                          I am sorry, but my program worked from the beginning.

                          I just did not find the result file.

                          Problem: I have an OSX operating system and my GUI sample application is a package. In this package is also my result file. This I did not know and then of course overlooked.

                          1 Reply Last reply Reply Quote 1
                          • First post
                            Last post