QPushButton vs. QLineEdit

Verschiedenes zu Qt
Antworten
ogre
Beiträge: 41
Registriert: 7. November 2005 07:41

QPushButton vs. QLineEdit

Beitrag von ogre »

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
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: QPushButton vs. QLineEdit

Beitrag von macman »

Dein connect kann nicht funktionieren, da unterscheidliche Parameter zwischen Signal und Slot.
ogre
Beiträge: 41
Registriert: 7. November 2005 07:41

Beitrag von ogre »

Aber wie sage ich dem signal, das es bei button click den wert von *_x1 an setAngele senden soll?
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

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.
Antworten