Ich habe eine QLineEdit, die ich mit einem QLabel verbinden möchte, so dass abhängig von der Gültigkeit des eingegebenen Textes. Ich habe dabei zwei Probleme.Qt Slots und Signale. Get Slot Receiver Objekt
QLineEdit *text = new QLineEdit(this);
layout->addWidget(text, rowno, 0);
QLabel *button = new QLabel(this);
button->setStyleSheet("QLabel { background-color : green; color : white; }");
button->setAlignment(Qt::AlignCenter);
button->setText("OKAY");
QObject::connect(text, SIGNAL(textEdited(const QString &)), button, SLOT(CheckValidity(const QString &)));
Dies verbindet keine Änderungen in QLineEdit mit meinem benutzerdefinierten Steckplatz. Ich kann nicht herausfinden warum! Auch im benutzerdefinierten Steckplatz möchte ich die Hintergrundfarbe meines Labels je nach QString ändern. Wie bekomme ich eine Referenz für das Etikett? Es ist als der Empfänger des Signals vorhanden, aber ich kann keinen Weg finden, darauf Bezug zu nehmen.
Kann ich das Label als Argument in der benutzerdefinierten Schlitz passieren? Ich glaube, dass QT-Signale und Slots die gleiche Anzahl von Argumenten haben müssen, aber ich muss ein bestimmtes Label mit einem bestimmten Textfeld verbinden und sie werden dynamisch vom Benutzer zur Laufzeit erstellt, daher kann ich keinen Verweis darauf in meiner Klasse behalten. –