Qt: Auf Button Click Slot ansprechen
-
Hallo,
im Moment handhabe ich das so:connect(this,SIGNAL(sendData(QString)),t1,SLOT(writeData(QString))); . . . void MainWindow::on_SendButton_clicked() { if(t1->isRunning()) { emit sendData(SendTextEdit->toPlainText()); } } void SerialThread::writeData(QString data){ port->write(data.toAscii()); }
Kann man das noch eleganter lösen?
-
verwende
const QString&
. QString kopiert sich zwar recht flott, aber herausfordern muss man es trotzdem nichtAnsonsten sollte es passen. Hauptsache, es funktioniert und ist nicht völlig falsch
-
Also faktisch so:
void writeData(const QString &data); ... void sendData(const QString &data); ... connect(this,SIGNAL(sendData(const QString&)),t1,SLOT(writeData(const QString&)));
Nur wie schaut es bei so was aus:
connect(NameComboBox,SIGNAL(currentIndexChanged(QString)),this,SLOT(onNameChanged(QString)));
Da gibt es ja gar keine Möglichkeit, dass per ref zu übergeben, oder?
-
sie dir mal das Signal der ComboBox genau an.
Dessen Signatur sieht so aus:
currentIndexChanged(const QString&)