Slot wird mehrfach ausgeführt
Verfasst: 18. Oktober 2006 23:08
hallo
habe mir ein kleines programm geschrieben, dass daten aus einer datei liest. dazu habe ich einen tool button um den pfad zur datei zu wählen. mit dem signal des tool buttons wird im zugehörigen slot der file dialog ausgeführt um das verzeichnis mit der daten-datei auszuwählen. ist das verzeichnis ausgewählt, kann das auslesen der daten mit einem push button gestartet werden.
hier nun mein problem, die oben beschriebenen slots werden offenbar mehrfach ausgeführt. wird im file dialog nach dem auswählen des verzeichnisses ok gedrückt, erscheint der file dialog noch einmal. wird der push button zum auslesen der daten gedrückt, wird der zugehörige slot viermal nacheinander ausgeführt. habe das bemerkt, weil ich die ausgelesenen daten in ein listwidget schreibe, und sie dort vier mal eingetragen werden.
woran kann das liegen?
die signale habe ich wiefolgt mit den slots verbunden.
Mein Headerfile siet so aus:
danke für die hilfe.
tommy
habe mir ein kleines programm geschrieben, dass daten aus einer datei liest. dazu habe ich einen tool button um den pfad zur datei zu wählen. mit dem signal des tool buttons wird im zugehörigen slot der file dialog ausgeführt um das verzeichnis mit der daten-datei auszuwählen. ist das verzeichnis ausgewählt, kann das auslesen der daten mit einem push button gestartet werden.
hier nun mein problem, die oben beschriebenen slots werden offenbar mehrfach ausgeführt. wird im file dialog nach dem auswählen des verzeichnisses ok gedrückt, erscheint der file dialog noch einmal. wird der push button zum auslesen der daten gedrückt, wird der zugehörige slot viermal nacheinander ausgeführt. habe das bemerkt, weil ich die ausgelesenen daten in ein listwidget schreibe, und sie dort vier mal eingetragen werden.
woran kann das liegen?
die signale habe ich wiefolgt mit den slots verbunden.
Code: Alles auswählen
connect(tbProjPath, SIGNAL(clicked()), this, SLOT(on_tbProjPath_clicked()));
connect(pbScanProj, SIGNAL(clicked()), this, SLOT(on_pbScanProj_clicked()));
Code: Alles auswählen
#ifndef CREATECHECKLIST_H_
#define CREATECHECKLIST_H_
#include <QDialog>
#include "ui_CreateChecklist.h"
class CreateChecklist : public QDialog, private Ui::CreateChecklist {
Q_OBJECT
public:
CreateChecklist(QWidget *parent = 0);
private slots:
void on_tbProjPath_clicked(void);
void on_pbCreateFile_clicked(void);
void on_pbScanProj_clicked(void);
};
#endif /*CREATECHECKLIST_H_*/
tommy