im Slot auf Sender zugreifen
Verfasst: 8. Juni 2009 22:08
Hallo,
zum Thema Signal-Slot wurde hier ja schon einiges gesagt, aber für mein Problem finde ich keine Lösung.
Ich habe die Klasse lineClass:
lineClass.h
lineClass.cpp
Davon werden so Instanzen erzeugt:
Nun möchte ich in meinem Slot diese lineClass als Sender wieder bekommen, also:
Wenn ich debugge und mir line ansehe, finde ich die Werte für den Slider. Alle anderen Widgets sind aber anscheinend leer, obwohl sie auf im GUI richtig dargestellt werden.
Kann mir jemand auf die Sprünge helfen?[/code]
zum Thema Signal-Slot wurde hier ja schon einiges gesagt, aber für mein Problem finde ich keine Lösung.
Ich habe die Klasse lineClass:
lineClass.h
Code: Alles auswählen
class lineClass : public QWidget
{
Q_OBJECT
public:
lineClass(QString nameString, QWidget *parent = 0);
~lineClass();
QLabel *name;
QMultiSlider *slider;
QTimeEdit *time;
QLabel *stunden;
signals:
void sliderBewegt();
};Code: Alles auswählen
#include "lineclass.h"
lineClass::lineClass(QString nameString, QWidget *parent) :
QWidget(parent)
{
name = new QLabel(nameString);
name->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
slider = new QMultiSlider(this);
connect(slider, SIGNAL(cursorMove()), this, SIGNAL(sliderBewegt()));
time = new QTimeEdit();
time->setDisplayFormat("HH:mm");
time->setGeometry(0, 0, 50, 20);
time->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
stunden = new QLabel("0");
stunden->setGeometry(0,0,50,20);
stunden->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
}
lineClass::~lineClass()
{
}Code: Alles auswählen
void day::createLine(QString &name, int row)
{
lineClass *line = new lineClass(name);
connect(line, SIGNAL(sliderBewegt()), this, SLOT(saveTime()));
m_ui->gridLayout->addWidget(line->name, row, 0);
m_ui->gridLayout->addWidget(line->slider, row, 1);
m_ui->gridLayout->addWidget(line->time, row, 2);
m_ui->gridLayout->addWidget(line->stunden, row, 3);
}Code: Alles auswählen
lineClass *line = (lineClass *) sender();Kann mir jemand auf die Sprünge helfen?[/code]