Anfänger:QtableWidget Slots

Verschiedenes zu Qt
Antworten
adonis
Beiträge: 6
Registriert: 12. Februar 2007 23:04
Wohnort: München

Anfänger:QtableWidget Slots

Beitrag von adonis »

Hallo zusammen,
Ich möchte durch einen Button Click eine Zeile zu einem QtableWidget hinzufügen,das klappt aber nicht.

Code: Alles auswählen

      class CoordinateTable:public QTableWidget
{
       Q_OBJECT
public:
        CoordinateTable(QWidget *parent=0);

private slots :
  void  CoordinateTable::addrow();

};

     
CoordinateTable::CoordinateTable(QWidget *parent)
    : QTableWidget(parent)
{   setColumnCount(2);
    setRowCount(2);
    };
  void  CoordinateTable::addrow()
   { 
     int row = CoordinateTable::rowCount();
    CoordinateTable:: insertRow(row);
//CoordinateTable::repaint();
        };
Im main steht:

Code: Alles auswählen

....
CoordinateTable  *tableWidget = new  CoordinateTable;
 QObject::connect(okbutton, SIGNAL(clicked()),
                            tableWidget ,SLOT(addrow()));   
    

beim clicken passiert aber nichts.
Wo ist denn das Fehler:?:
VG.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die Definition ist falsch:

Code: Alles auswählen

  void  CoordinateTable::addrow();
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
adonis
Beiträge: 6
Registriert: 12. Februar 2007 23:04
Wohnort: München

Beitrag von adonis »

Christian81 hat geschrieben:Die Definition ist falsch:

Code: Alles auswählen

  void  CoordinateTable::addrow();
Erstmal danke für die Antwort.ich habe auch so versucht:

Code: Alles auswählen

 void  addrow();
klappt aber auch nicht.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ok, dann weiter - laut Doku gibt es kein signal clicked() (ich gehe davon aus dass es ein QPushButton in Qt4 ist).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
adonis
Beiträge: 6
Registriert: 12. Februar 2007 23:04
Wohnort: München

Beitrag von adonis »

Es ist ein Qt 4 QPushButton.

Code: Alles auswählen

    QPushButton *okbutton=new QPushButton("Ok");
    QPushButton *quitbutton=new QPushButton("&Abbrechen");  
Beim quitbutton klappt es:

Code: Alles auswählen

  QObject::connect(quitbutton, SIGNAL(clicked()),
                       &app, SLOT(quit()));
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

adonis hat geschrieben:Es ist ein Qt 4 QPushButton.
und warum schaust Du dann nicht mal in die Doku ?
Beim quitbutton klappt es:

Code: Alles auswählen

  QObject::connect(quitbutton, SIGNAL(clicked()),
                       &app, SLOT(quit()));
Nein, das funktioniert auch nicht (ggf. nur wegen dem feature 'auto connect'. Lies endlich die Doku!

Wenn Du die Konsole beobachtest (siehe qmake Doku, CONFIG und 'console') wird es Dir zur Laufzeit auch angezeigt dass es nicht funktioniert.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
adonis
Beiträge: 6
Registriert: 12. Februar 2007 23:04
Wohnort: München

Beitrag von adonis »

danke nochmal für deine hilfe.
Christian81 hat geschrieben: und warum schaust Du dann nicht mal in die Doku ?
Im Doku steht
"A push button emits the signal clicked() when it is activated by the mouse, the Spacebar or by a keyboard shortcut. Connect to this signal to perform the button's action. Push buttons also provide less commonly used signals, for example, pressed() and released()."
und auch"Inherits QAbstractButton."wo das clicked() Signal definiert ist.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Aber auf den Link kann man wohl trotzdem nicht klicken um zu schauen wie das signal aussieht?
http://doc.trolltech.com/4.2/qabstractb ... ml#clicked
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten