Problem mit custom slots

Alles rund um die Programmierung mit Qt
Antworten
CodeMonkey
Beiträge: 14
Registriert: 8. Februar 2009 14:44

Problem mit custom slots

Beitrag von CodeMonkey »

Hallo liebe Community

Obwohl ich noch relativer Anfänger in QT bin, hab ich mal neulich ein Programm geschrieben, welches custom Slots benutzt. Das Programm wird problemlos kompiliert, jedoch passiert, wenn ich das Signal auslöse einfach nichts. Ich fänds deshalb toll, wenn sich jemand mal meinen Code anschauen könnt:

Mainwindow Header

Code: Alles auswählen

#include <QtGui/QMainWindow>

namespace Ui
{
    class MainWindowClass;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindowClass *ui;

public slots:
    void setGroupBoxEnabled();
};
MainWindow.cpp

Code: Alles auswählen

#include "mainWindow.h"
#include "ui_mainWindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindowClass)
{
    ui->setupUi(this);

    connect (ui->Bu_Loeschen, SIGNAL(clicked()), ui->groupBox_2, SLOT(setGroupBoxEnabled()));
}

//hier kommt noch anderes, unwichtiges Zeug

void MainWindow::setGroupBoxEnabled()
{
    ui->groupBox_2->setEnabled(true);
}
Ich hoffe der Code ist nicht zu umfangreich, aber ich will eben auch nicht, dass was unklar ist...

Ich hab auch gelesen, dass man es hier (verständlicherweise) nicht gern sieht, dass ein C++ Newbie seine Probleme in ein QT Forum postet. Ich hoffe mein Problem liegt nicht an mangelnden C++ Kenntnissen und bitte glaubt mir, wenn ich sage, dass ich es nicht hier posten würde, wenn ich nicht der Meinung wäre, dass es sich um ein QT Problem handelt

In diesem Sinne freue ich mich auf Antworten jeglicher Art

mfg
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Statt

Code: Alles auswählen

connect (ui->Bu_Loeschen, SIGNAL(clicked()), ui->groupBox_2, SLOT(setGroupBoxEnabled()));
das

Code: Alles auswählen

connect (ui->Bu_Loeschen, SIGNAL(clicked()), this, SLOT(setGroupBoxEnabled()));
Denn dein Slot ist ja in MainWindow definiert, die GroupBox kann da wenig mit anfangen ;)

Solche Sachen findet man aber leicht raus, wenn man seine Programme in einem Terminal (Linux: xterm, windows: cmd/Eingabeaufforderung/(die kleine eklige schwarze Box)) ausführt, da kommen schöne Meldungen, was nicht passt. Hätte dich auch näher an das Problem geführt.

Grüße
Franz
CodeMonkey
Beiträge: 14
Registriert: 8. Februar 2009 14:44

Beitrag von CodeMonkey »

vielen Dank Franz, ich glaube da hätte ich noch eine Weile gesucht...

Den Tipp werd ich mir merken. Das sind einfach die Sachen, die in so einem Tutorial nicht drin stehen (jedenfalls in meinen nicht^^)
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

franzf hat geschrieben: Solche Sachen findet man aber leicht raus, wenn man seine Programme in einem Terminal (Linux: xterm, windows: cmd/Eingabeaufforderung/(die kleine eklige schwarze Box)) ausführt, da kommen schöne Meldungen, was nicht passt. Hätte dich auch näher an das Problem geführt.
Auch in Eclipse werden solch Hinweise angezeigt, sofern man sich die Console anzeigen lässt.
Linux, das längste Text-Adventure aller Zeiten
Antworten