How to access widgets created with the UI Designer from another (a sub) class.
-
Hello!
I'm a begginer, started this month programming with QT. So long I've been able to create a GUI (ControlLoop) with the QT Designer and access its widgets with signals and slots declared in the Sourcefile. Now I have a new class (StartGui) which inherits from ControlLoop. In StartGui I'm trying to catch the signals from the ControlLoop's widgets at runtime, I have tried almost everything I've read. I connect the signals and slots in der StartGui class and get no error messages. But whenever the program is running and I change the Text in e.g. a QLineEdit, nothing happens. Could you please help me? I've been stuck at this point for days.
I don't know what I'm doing wrong whenever I connect the Widgets, the nothing happens when the programm is running and I do any of the signals.
Is it even possible to acces those widgets from the subclass or is the whole idea just wrong=
Thank you very much!
@
#ifndef CONTROLLOOP_H
#define CONTROLLOOP_H#include <QObject>
#include <QMainWindow>namespace Ui {
class ControlLoop;
}class ControlLoop : public QMainWindow
{
Q_OBJECTpublic:
explicit ControlLoop(QWidget *parent = 0);
~GUIRegelKreis();Ui::ControlLoop *ui;
...
}
@@
#include "controloop.h"
#include "ui_controloop.h"ControLoop::ControLoop(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::ControLoop)
{
ui->setupUi(this);
}
@@
#ifndef STARTGUI_H
#define STARTGUI_H#include "controlloop.h"
#include "ui_guiregelkreis.h"class StartGui : public ControlLoop
{Q_OBJECT
public:
StartGui();
ControlLoop *GUI;public slots:
void on_JobLineEdit_textChanged(QString)
....
}
@@
#include "startgui.h"
#include "ui_controlloop.h"StartGui::StartGui()
{GUI = new ControlLoop();
connect(GUI->ui->JobLineEdit, SIGNAL(textChanged(QString)), this, SLOT(on_JobLineEdit_textChanged(QString))); connect(GUI->ui->MaschineLineEdit, SIGNAL(textChanged(QString)), this, SLOT(on_MaschineLineEdit_textChanged(QString)));
....
void StartGui::on_JobLineEdit_textChanged(QString)
{
...
}
...
}
@