Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. 3rd Party Software
  4. QT project in Visual studio
QtWS25 Last Chance

QT project in Visual studio

Scheduled Pinned Locked Moved Unsolved 3rd Party Software
5 Posts 2 Posters 2.0k 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.
  • P Offline
    P Offline
    prajesw2
    wrote on last edited by
    #1

    Hello all,

    I'm using QT plug-in with Visual studio to create a front end GUI for my C++ based application. I have integrated my dlls and external library files. Created a simple login form in QT designer and coded it to display the login parameters when the pushbutton is clicked (for testing purpose). The solution is build successfully with out any errors. However, the GUI doesn't appear while running. There is no error or warning but the GUI form is not visible.

    It works when I remove my external libraries. But that doesn't help. Any suggestions or comments on why this happens? And how do I debug/ fix it?

    A 1 Reply Last reply
    0
    • P prajesw2

      Hello all,

      I'm using QT plug-in with Visual studio to create a front end GUI for my C++ based application. I have integrated my dlls and external library files. Created a simple login form in QT designer and coded it to display the login parameters when the pushbutton is clicked (for testing purpose). The solution is build successfully with out any errors. However, the GUI doesn't appear while running. There is no error or warning but the GUI form is not visible.

      It works when I remove my external libraries. But that doesn't help. Any suggestions or comments on why this happens? And how do I debug/ fix it?

      A Offline
      A Offline
      ambershark
      wrote on last edited by
      #2

      @prajesw2 We're definitely going to need some more information to help on this.

      If I understand correctly you have a preexisting visual c++ project that you want to add a Qt GUI to? I don't really understand this though. Is it a console application that you want to add a gui to? Is it a set of libraries you want to call with a Qt interface? I'm just not understanding at all.

      Can I see your code to invoke the GUI? How are you building?

      My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

      P 1 Reply Last reply
      0
      • A ambershark

        @prajesw2 We're definitely going to need some more information to help on this.

        If I understand correctly you have a preexisting visual c++ project that you want to add a Qt GUI to? I don't really understand this though. Is it a console application that you want to add a gui to? Is it a set of libraries you want to call with a Qt interface? I'm just not understanding at all.

        Can I see your code to invoke the GUI? How are you building?

        P Offline
        P Offline
        prajesw2
        wrote on last edited by
        #3

        @ambershark : Yes I have a preexisting visual C++ project. I want to add QT GUI to accept input from users.

        It is a console application which completely works fine in visual studio. But I included the necessary header files and imported the library files and dlls into my QT project in Visual studio.

        My main.cpp:

        #include "biogearsqt.h"
        #include <QtWidgets/QApplication>
        #include <QMessageBox>

        int main(int argc, char *argv[])
        {
        QApplication a(argc, argv);
        biogearsQT w;
        w.show();
        return a.exec();
        QMessageBox msg;
        msg.setText("main func is running");
        msg.exec();
        }

        biogearsqt.cpp:

        #include "biogearsqt.h"
        #include <QLineEdit>
        #include <QMessageBox>

        #include "BioGearsEngineHowTo.h"
        #include "engine/PhysiologyEngineTrack.h"
        #include "scenario/requests/SEDataRequest.h"
        #include "properties/SEScalarTime.h"
        #include "patient/SEPatient.h"
        #include "patient/assessments/SEPulmonaryFunctionTest.h"
        #include "compartment/SECompartmentManager.h"
        #include "compartment/fluid/SEGasCompartment.h"
        #include "compartment/fluid/SELiquidCompartment.h"
        #include "compartment/SECompartmentManager.h"
        #include "system/physiology/SEBloodChemistrySystem.h"
        #include "system/physiology/SECardiovascularSystem.h"
        #include "system/physiology/SEEnergySystem.h"
        #include "system/physiology/SERespiratorySystem.h"
        #include "substance/SESubstanceManager.h"
        #include "substance/SESubstance.h"
        #include "engine/PhysiologyEngineTrack.h"
        #include "utils/SEEventHandler.h"
        #include "properties/SEScalarFraction.h"
        #include "properties/SEScalarFrequency.h"
        #include "properties/SEScalarMassPerVolume.h"
        #include "properties/SEScalarPressure.h"
        #include "properties/SEScalarTemperature.h"
        #include "properties/SEScalarTime.h"
        #include "properties/SEScalarVolume.h"
        #include "properties/SEScalarVolumePerTime.h"
        #include "properties/SEFunctionVolumeVsTime.h"
        #include "properties/SEScalarMass.h"
        #include "properties/SEScalarLength.h"

        biogearsQT::biogearsQT(QWidget *parent)
        : QMainWindow(parent)
        {
        ui.setupUi(this);
        }

        biogearsQT::~biogearsQT()
        {

        }

        void biogearsQT::on_pushButton_clicked()
        {

        QLineEdit *name = ui.lineEdit_name;
        QLineEdit *age = ui.lineEdit_age;
        QString t_name;
        QString t_age;
        
        t_name = name->text();
        t_age = age->text();
        int a = t_age.split("")[0].toInt();
        

        // creates object for class physiology engine
        std::unique_ptr<PhysiologyEngine> bg = CreateBioGearsEngine("Engine.log");
        bg->GetLogger()->Info("Engine initialized");

        QMessageBox::information(this,"Info",t_name);
        

        // function call
        HowToEngineUse();

        }

        Once I include "std::unique_ptr<PhysiologyEngine> bg = CreateBioGearsEngine("Engine.log");
        bg->GetLogger()->Info("Engine initialized");
        // function call
        HowToEngineUse(); " these lines in my function, the GUI does not show up. Please let me know if you further information. Thanks!!

        attached a screenshot of the ui form that should show up..

        0_1490661484351_upload-c7a10dab-8bab-431f-aac9-a6b76cf36a39

        A 1 Reply Last reply
        0
        • P prajesw2

          @ambershark : Yes I have a preexisting visual C++ project. I want to add QT GUI to accept input from users.

          It is a console application which completely works fine in visual studio. But I included the necessary header files and imported the library files and dlls into my QT project in Visual studio.

          My main.cpp:

          #include "biogearsqt.h"
          #include <QtWidgets/QApplication>
          #include <QMessageBox>

          int main(int argc, char *argv[])
          {
          QApplication a(argc, argv);
          biogearsQT w;
          w.show();
          return a.exec();
          QMessageBox msg;
          msg.setText("main func is running");
          msg.exec();
          }

          biogearsqt.cpp:

          #include "biogearsqt.h"
          #include <QLineEdit>
          #include <QMessageBox>

          #include "BioGearsEngineHowTo.h"
          #include "engine/PhysiologyEngineTrack.h"
          #include "scenario/requests/SEDataRequest.h"
          #include "properties/SEScalarTime.h"
          #include "patient/SEPatient.h"
          #include "patient/assessments/SEPulmonaryFunctionTest.h"
          #include "compartment/SECompartmentManager.h"
          #include "compartment/fluid/SEGasCompartment.h"
          #include "compartment/fluid/SELiquidCompartment.h"
          #include "compartment/SECompartmentManager.h"
          #include "system/physiology/SEBloodChemistrySystem.h"
          #include "system/physiology/SECardiovascularSystem.h"
          #include "system/physiology/SEEnergySystem.h"
          #include "system/physiology/SERespiratorySystem.h"
          #include "substance/SESubstanceManager.h"
          #include "substance/SESubstance.h"
          #include "engine/PhysiologyEngineTrack.h"
          #include "utils/SEEventHandler.h"
          #include "properties/SEScalarFraction.h"
          #include "properties/SEScalarFrequency.h"
          #include "properties/SEScalarMassPerVolume.h"
          #include "properties/SEScalarPressure.h"
          #include "properties/SEScalarTemperature.h"
          #include "properties/SEScalarTime.h"
          #include "properties/SEScalarVolume.h"
          #include "properties/SEScalarVolumePerTime.h"
          #include "properties/SEFunctionVolumeVsTime.h"
          #include "properties/SEScalarMass.h"
          #include "properties/SEScalarLength.h"

          biogearsQT::biogearsQT(QWidget *parent)
          : QMainWindow(parent)
          {
          ui.setupUi(this);
          }

          biogearsQT::~biogearsQT()
          {

          }

          void biogearsQT::on_pushButton_clicked()
          {

          QLineEdit *name = ui.lineEdit_name;
          QLineEdit *age = ui.lineEdit_age;
          QString t_name;
          QString t_age;
          
          t_name = name->text();
          t_age = age->text();
          int a = t_age.split("")[0].toInt();
          

          // creates object for class physiology engine
          std::unique_ptr<PhysiologyEngine> bg = CreateBioGearsEngine("Engine.log");
          bg->GetLogger()->Info("Engine initialized");

          QMessageBox::information(this,"Info",t_name);
          

          // function call
          HowToEngineUse();

          }

          Once I include "std::unique_ptr<PhysiologyEngine> bg = CreateBioGearsEngine("Engine.log");
          bg->GetLogger()->Info("Engine initialized");
          // function call
          HowToEngineUse(); " these lines in my function, the GUI does not show up. Please let me know if you further information. Thanks!!

          attached a screenshot of the ui form that should show up..

          0_1490661484351_upload-c7a10dab-8bab-431f-aac9-a6b76cf36a39

          A Offline
          A Offline
          ambershark
          wrote on last edited by
          #4

          @prajesw2 That's interesting... That shouldn't affect the GUI at all. What happens when you include those lines? The GUI just doesn't show up but does the application exit?

          I'm wondering if you're not getting stuck in the create of the biogears engine and therefore Qt can't start it's event loop in the main app.exec(). That would make the gui not show up.

          Does your bg->GetLogger()->Info(...) line work?

          And also what does HowToEngineUse() do?

          You didn't include the screenshot but it's not necessary anyway. ;)

          My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

          1 Reply Last reply
          0
          • P Offline
            P Offline
            prajesw2
            wrote on last edited by
            #5

            Yes totally.. I don't understand why the GUI doesn't appear. There are no build errors or warnings. The project is compiled successfully. I can see the process( .exe) is running in task manager. There is no error. Nothing happens in the window till I stop the debugger.

            bg->GetLogger()->Info(...) line works. it actually updates log. I have this line commented for now.
            HowToEngineUse() is a function that has series of instructions to advance time and stuff like that.

            "I'm wondering if you're not getting stuck in the create of the biogears engine and therefore Qt can't start it's event loop in the main app.exec()." - Do you have any suggestions for debugging?

            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