Hallo,
ich möchte eine QPushButton mit einem QLineLineEdit verbinden, die Eingabe soll dann in einen drawText ausgegeben werden. Die Lösung mit dem QInputDialog::getInteger finde ich für meine Zwecke etwas ungeeignet.
Mein Programm sieht wie folgt aus:
MyWidget::MyWidget( QWidget *parent ):QWidget(parent)
{
QPushButton *button = new QPushButton("zeichne");
QLabel *label = new QLabel;
label->setText(" Zeichen ");
QLabel *_x1besch = new QLabel;
_x1besch->setText("Wert für x 1:");
QLineEdit *_x1 = new QLineEdit;
drawfield *drawField = new drawfield;
connect(button, SIGNAL( clicked() ), drawField, SLOT( setAngle(int) ) );
}
In der Klasse drawField ist die Methode setAngle():
void drawfield::setAngle(int angle)
{
currentAngle = angle;
update();
emit angleChanged(currentAngle);
}
und hier soll das ganze dann erscheinen:
void drawfield::paintEvent(QPaintEvent *event )
{
painter.drawText(200, 200, "Angle = " + QString::number(currentAngle));
}
tut es aber leider nicht.
Hat jemand eine Idee woran es liegen könnte.
Ich Glaube es wird kein Update Durchgeführt oder??
p.s. in drawfield.h ist Q_OBJECT vorhanden
QPushButton vs. QLineEdit
Re: QPushButton vs. QLineEdit
Dein connect kann nicht funktionieren, da unterscheidliche Parameter zwischen Signal und Slot.
Kommt drauf an worauf Du hinaus willst, die Möglichkeiten sind vielfältig. Du könntest z.B. eine eigene QButtonLineEdit-Klasse erstellen, die dann ein passendes Signal versendet. Oder Du verzichtest im Slot auf den Parameter und holst Dir erst den Wert aus dem LineEdit, wenn der Button geklickt wurde.