Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7646425
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T10:12:19+00:00 2026-05-31T10:12:19+00:00

I am trying to write a Qt GUI application which can communicate with an

  • 0

I am trying to write a Qt GUI application which can communicate with an executable file I have made which processes the information from the Qt GUI application.

I can understand and have been able to implement a one way popen() pipe which allows me to only send the information to the command line utility, but the output only appears on the application output window at the bottom of the Qt window.

I have been looking around the internet and I think I have to use two pipes with fork() and exec().

My question is does anyone know where a good tutorial for this or some examples or could anyone show me the code to achieve this.

Thanks.

EDIT::

I have this code here but I am confused on where I should put this. If I put in into my Qt GUI application, the close pipes bring back errors.

EDIT AGAIN::

This is my Qt GUI push button click event. However I am getting alot of errors saying that there is something wrong with the close pipe parts.

mainwindow.cpp:85: error: no matching function for call to ‘MainWindow::close(int&)’

what is wrong with the close pipe parts?

void MainWindow::on_pushButton_clicked()
{
    QString stringURL = ui->lineEdit->text();

    ui->labelError->clear();
    if(stringURL.isEmpty() || stringURL.isNull()) {
        ui->labelError->setText("You have not entered a URL.");
        stringURL.clear();
        return;
    }

    std::string cppString = stringURL.toStdString();
    const char* cString = cppString.c_str();

    char* output;

    //These arrays will hold the file id of each end of two pipes
    int fidOut[2];
    int fidIn[2];

    //Create two uni-directional pipes
    int p1 = pipe(fidOut);                  //populates the array fidOut with read/write fid
    int p2 = pipe(fidIn);                   //populates the array fidIn  with read/write fid
    if ((p1 == -1) || (p2 == -1)) {
        printf("Error\n");
        return 0;
    }

    //To make this more readable - I'm going to copy each fileid
    //into a semantically more meaningful name
    int parentRead  = fidIn[0];
    int parentWrite = fidOut[1];
    int childRead   = fidOut[0];
    int childWrite  = fidIn[1];

    //////////////////////////
    //Fork into two processes/
    //////////////////////////
    pid_t processId = fork();

    //Which process am I?
    if (processId == 0) {
        /////////////////////////////////////////////////
        //CHILD PROCESS - inherits file id's from parent/
        /////////////////////////////////////////////////
        close(parentRead);      //Don't need these
        close(parentWrite);     //

        //Map stdin and stdout to pipes
        dup2(childRead,  STDIN_FILENO);
        dup2(childWrite, STDOUT_FILENO);

        //Exec - turn child into sort (and inherit file id's)
        execlp("htmlstrip", "htmlstrip", "-n", NULL);

    } else {
        /////////////////
        //PARENT PROCESS/
        /////////////////
        close(childRead);       //Don't need this
        close(childWrite);      //

        //Write data to child process
        char strMessage[] = cString;
        write(parentWrite, strMessage, strlen(strMessage));
        close(parentWrite);     //this will send an EOF and prompt sort to run

        //Read data back from child
        char charIn;
        while ( read(parentRead, &charIn, 1) > 0 ) {
            output = output + (charIn);
        }
        close(parentRead);      //This will prompt the child process to quit
    }

    return 0;
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T10:12:20+00:00Added an answer on May 31, 2026 at 10:12 am

    For IPC b/w Qt Applications you can go for Shared Memory or Local Sockets/Server.

    Look at the shared Memory example here:

    http://www.developer.nokia.com/info/sw.nokia.com/id/ad9f51ff-c18f-4bd7-8bb8-cd9681704783/Qt_QSharedMemory_Example_v1_2_en.zip.html

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to write a simple gui-based application in pygtk which provides 'live' previewing
I'm trying write a query to find records which don't have a matching record
I'm trying to write a simple gui application to manage ruby version manager. I
I am trying to write a file downloader that has a GUI and displays
I am trying to write a unit test for a GUI application using the
I have a Monotouch iPad application for which I am trying to set up
I'm trying to write a simple GUI application using Qt framework. The purpose of
I'm trying to write a small gui app in pygtk which needs an html-rendering
I'm trying to write a python application with a gui, and I'm having trouble
I have a two-thread application: GUI, and some background work. I'm trying to send

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.