Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. How to run a C++ code in Qt?

How to run a C++ code in Qt?

Scheduled Pinned Locked Moved Installation and Deployment
123 Posts 5 Posters 108.5k Views
  • 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.
  • S SGaist
    4 Dec 2015, 21:47

    First thing: don't use cout since it will send the text to the console.

    You can simply put a QLabel with hello world as text as central widget of your MainWindow class.

    R Offline
    R Offline
    Rela
    wrote on 8 Dec 2015, 14:08 last edited by
    #46

    @SGaist
    I am going to print the result of the C++ code in UI. For "Hello world" here is the Qt using QLabel written in "main.cpp" after "Debug". The C++ files (stdf.h, targetver.h, stdafx.cpp) were added, but I am not sure if the "Hello world" is the result of C++ code or not.

    Again here is my C++ project in MSVC2013.
    After I created Qt widget, I added "O_PS .H ", "stdaf.h ", "targetver.h ", " po .cpp", and "stdaf.cpp ". The code was copied in "#main.cpp" to have one main function. As input data, a model.txt file also a path of text file was added in the run "Arguments" of "Desktop Qt 5.5.1 MSVC2013 64 bit. It gave error that it cannot find the headers files, and I copied all of them in the Qt project folder. Here is the "Application Output".
    In MSVC, it gives some values as outputs, I added a label to ui and wrote QLabel instead of one of the values "cout", like "Hello world". It gives this error. Here is the line that error show, the cout is comment and instead Qlabel was used.

    // QLabel* label=new QLabel(para(i,0));
            label->setAlignment(Qt::AlignCenter);
            QWidget* widget=new QWidget;
            QHBoxLayout* layout=new QHBoxLayout;
             layout->addWidget(label);
             widget->setLayout(layout);
             widget->show();
            //for(i= 0; i<para.IDim(); i++)
                 //cout << para(i,0) << "\t" <<para(i,1) << endl;
    
    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 8 Dec 2015, 20:53 last edited by
      #47

      Because para returns a double and not a string.

      You should use QString::number(para(i,0))

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      R 1 Reply Last reply 11 Dec 2015, 14:15
      0
      • S SGaist
        8 Dec 2015, 20:53

        Because para returns a double and not a string.

        You should use QString::number(para(i,0))

        R Offline
        R Offline
        Rela
        wrote on 11 Dec 2015, 14:15 last edited by Rela 12 Nov 2015, 14:18
        #48

        @SGaist
        This code in "main.cpp" outputs the area and prime of a circle in which QString::number(); is used to return float.

        #include "mainwindow.h"
        #include <QApplication>
        
        #include <QString>
        #include <QHBoxLayout>
        #include <QLabel>
        #include <QWidget>
        
        #include "stdafx.h"
        #include <iostream>
        #include <iomanip>
        using namespace std;
        
        int main(int argc, char *argv[])
        {
            QApplication a(argc, argv);
        
            int radius = 3; //radius of circle
                float square; //area of circle
                float edge; //perimeter of circle
             square = 3.14 * radius*radius;
             edge = 2 * 3.14 *radius;
        
                //cout << "Circle are= " << area << endl;
                //cout << "Circle perimeter= " << perime;
        
                // Show area
                QString area = QString::number(square);
                QLabel* arlabel=new QLabel(area);
                // create horizontal layout
                arlabel->setAlignment(Qt::AlignCenter);
                QHBoxLayout* arlayout=new QHBoxLayout;
                // and add label to it
                arlayout->addWidget(arlabel);
                QWidget* arwidget=new QWidget;
                // set layout to widget
                arwidget->setLayout(arlayout);
                arwidget->show();
        
                // Show perime
                QString perime = QString::number(edge);
                QLabel* pelabel=new QLabel(perime);
                pelabel->setAlignment(Qt::AlignCenter);
                // create horizontal layout
                QHBoxLayout* pelayout=new QHBoxLayout;
                // and add label to it
                pelayout->addWidget(pelabel);
                QWidget* pewidget=new QWidget;
                // set layout to widget
                pewidget->setLayout(pelayout);
                pewidget->show();
            //MainWindow w;
            //w.show();
            return a.exec();
        }
        
        

        I created two "QLabel" in "Mainwindow.ui", but it opens two separate "Mainwindow.ui" and shows area and prime in each of them. But I want to have both on one "Mainwindow.ui".

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 11 Dec 2015, 21:37 last edited by
          #49

          No, currently it shows two widgets: arwidget and pewidget.

          MainWindow.ui is innocent here since you don't even show MainWindow.

          If you only want to show one widget, create a QWidget, put a layout on it and add arwidget and pewidget to it. You don't even need MainWindow.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          R 1 Reply Last reply 17 Dec 2015, 11:16
          0
          • S SGaist
            11 Dec 2015, 21:37

            No, currently it shows two widgets: arwidget and pewidget.

            MainWindow.ui is innocent here since you don't even show MainWindow.

            If you only want to show one widget, create a QWidget, put a layout on it and add arwidget and pewidget to it. You don't even need MainWindow.

            R Offline
            R Offline
            Rela
            wrote on 17 Dec 2015, 11:16 last edited by Rela
            #50

            @SGaist
            Hi, last week I created one widget and it worked. Today, I was goign to run it again, but the files format has changed. I think MSV was updated. First time MVS 2015 gave error "Severity Code Description Project File Line Suppression State Error Solution is not saved. Please save your solution before managing NuGet packages. 0".
            Should I click on Restore NuGet Packages?

            1 Reply Last reply
            0
            • S Offline
              S Offline
              SGaist
              Lifetime Qt Champion
              wrote on 18 Dec 2015, 21:13 last edited by
              #51

              I don't see why not.

              Note that your link is pointing to an invalid page

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              R 1 Reply Last reply 21 Dec 2015, 09:32
              0
              • S SGaist
                18 Dec 2015, 21:13

                I don't see why not.

                Note that your link is pointing to an invalid page

                R Offline
                R Offline
                Rela
                wrote on 21 Dec 2015, 09:32 last edited by Rela
                #52

                @SGaist
                The MVS 2015 was updated automatically and after that it and Qt are not working anymore.
                First it gave error "...Please save your solution before managing NuGet packages". After that "the project file was unloaded". But when I tried other projects the error changed to "Failed to locate: "CL.exe. The system cannot find the file specified". I tried to install some components VS 2015: "Control Panel > Programs >Programs and Features > Microsoft Visual Studio > 'modify' > Visual C++ components and install", but it shows this window: here

                1 Reply Last reply
                0
                • jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on 21 Dec 2015, 11:13 last edited by
                  #53

                  Did you try the first option in this window?

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

                  R 1 Reply Last reply 21 Dec 2015, 14:34
                  0
                  • jsulmJ jsulm
                    21 Dec 2015, 11:13

                    Did you try the first option in this window?

                    R Offline
                    R Offline
                    Rela
                    wrote on 21 Dec 2015, 14:34 last edited by
                    #54

                    @jsulm
                    Yes, it worked and now MSVC 2015 is working, but not Qt. 5.5.
                    It gives error "Qt Creator needs a compiler set up to build. Configure a compiler in the kit options." in "Issues and in "Complie Output" the error "Configuration is faulty. Check the Issues view for details. Error while building/deploying project Circle2 (kit: Desktop Qt 5.5.1 MSVC2013 64bit) When executing step "Make". "

                    I installed "standalone SDK" from here here Downloaded and a folder "Windows kits" was built in the same folder. I copied it in "Visual studio 14" folder, and run the Qt again, but this is Build & Run. No active "Desktop Qt5.5. MCVS 2013 64 bit".

                    I dont know what the problem is? The kit should be MCVs 2105?

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on 21 Dec 2015, 21:45 last edited by
                      #55

                      I didn't realize… You changed Visual Studio's version in between. On Windows you can't mix and match compilers and libraries, Visual Studio's compilers are not compatible one with the other. So since you have the MSVC2013 Qt package, you have to use Visual Studio 2013 with it.

                      If you want to use Visual Studio 2015, you can either build Qt yourself, or go with the 5.6 beta which has VS2015 packages.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      R 1 Reply Last reply 22 Dec 2015, 13:39
                      0
                      • S SGaist
                        21 Dec 2015, 21:45

                        I didn't realize… You changed Visual Studio's version in between. On Windows you can't mix and match compilers and libraries, Visual Studio's compilers are not compatible one with the other. So since you have the MSVC2013 Qt package, you have to use Visual Studio 2013 with it.

                        If you want to use Visual Studio 2015, you can either build Qt yourself, or go with the 5.6 beta which has VS2015 packages.

                        R Offline
                        R Offline
                        Rela
                        wrote on 22 Dec 2015, 13:39 last edited by
                        #56

                        @SGaist said:
                        Thanks, which one do you recommend? I spent a lot of time on lunching and problem with running my programs until now because of components and compilers. If I uninstall 5.5 and install 6.5. beta, does Qt 6.5. work conveniently with Qt5.5. projects?

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on 22 Dec 2015, 21:10 last edited by
                          #57

                          You're too much in the future ;) It's 5.6

                          No problem using Qt 5.6 for project started with 5.5. Forward compatibility is one of Qt's guaranties.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          R 1 Reply Last reply 23 Dec 2015, 11:40
                          0
                          • S SGaist
                            22 Dec 2015, 21:10

                            You're too much in the future ;) It's 5.6

                            No problem using Qt 5.6 for project started with 5.5. Forward compatibility is one of Qt's guaranties.

                            R Offline
                            R Offline
                            Rela
                            wrote on 23 Dec 2015, 11:40 last edited by
                            #58

                            @SGaist
                            I was going to uninstall it by opening "Maintenancetool.exe" > "Remove all components" but it gives this error in 92%...

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on 23 Dec 2015, 22:31 last edited by
                              #59

                              Unusual, but why not just update ?

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              R 1 Reply Last reply 4 Jan 2016, 09:13
                              0
                              • S SGaist
                                23 Dec 2015, 22:31

                                Unusual, but why not just update ?

                                R Offline
                                R Offline
                                Rela
                                wrote on 4 Jan 2016, 09:13 last edited by
                                #60

                                @SGaist
                                I was going to work with Qt 5.6 beta with MVS2015. To have Qt 5.6 beta can I just update Qt 5.5? I clicked on update components in "Maintenancetool.exe" , is this the component I need?

                                1 Reply Last reply
                                1
                                • S Offline
                                  S Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on 4 Jan 2016, 10:49 last edited by
                                  #61

                                  No, that's Qt Creator. It's the IDE.

                                  IIRC, the 5.6 beta installer is available through your Qt Account page

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  R 1 Reply Last reply 5 Jan 2016, 07:32
                                  0
                                  • S SGaist
                                    4 Jan 2016, 10:49

                                    No, that's Qt Creator. It's the IDE.

                                    IIRC, the 5.6 beta installer is available through your Qt Account page

                                    R Offline
                                    R Offline
                                    Rela
                                    wrote on 5 Jan 2016, 07:32 last edited by
                                    #62

                                    @SGaist
                                    If you mean through this link, the Qt5.5 should not be uninstalled first?

                                    1 Reply Last reply
                                    1
                                    • S Offline
                                      S Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on 5 Jan 2016, 11:29 last edited by
                                      #63

                                      There's also that link indeed. Since it's an offline installer, I don't remember whether it will overwrite the Qt folder or not

                                      Interested in AI ? www.idiap.ch
                                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      R 1 Reply Last reply 5 Jan 2016, 11:52
                                      0
                                      • S SGaist
                                        5 Jan 2016, 11:29

                                        There's also that link indeed. Since it's an offline installer, I don't remember whether it will overwrite the Qt folder or not

                                        R Offline
                                        R Offline
                                        Rela
                                        wrote on 5 Jan 2016, 11:52 last edited by
                                        #64

                                        @SGaist
                                        Is the installation way different from Qt5.5? Why does Qt5.6 give this error, while I installed Qt5.5 in the same folder?

                                        1 Reply Last reply
                                        0
                                        • S Offline
                                          S Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on 5 Jan 2016, 21:27 last edited by
                                          #65

                                          Don't put Qt in a path with white spaces, that will save you much trouble.

                                          Interested in AI ? www.idiap.ch
                                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          R 1 Reply Last reply 6 Jan 2016, 12:10
                                          0

                                          • Login

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