Subwidget auf einem Hauptwidget anzeigen
Verfasst: 17. November 2011 22:47
Hallo Qt-User
vorweg ich habe früher mal ein wenig mit Qt3 programmiert.
und jetzt wollte ich mal ein wenig in Qt4 reinschnuppern.
Nur habe ich jetzt schon das erste Problem.
Früher habe ich (wenn es sich anbot) meine Projekte gerne
in Module aufgeteilt.
Sprich ein QWidget als Hauptwidget erstellt
und Klassen von Qt-Elementen abgeleitet (falls notwendig)
und die dann in das Hauptwidget reingehangen.
Nun ist das Ergebniss nicht das was ich erwartet habe.
es wird ohne Fehlermeldungen und Warnugen kompiliert und auch
ausgeführt.
Ich sehe auch mein grünes Hauptwidget
und der Exit-Button funktioniert auch
soweit so gut.
Aber wo ist das blaue Subwidget (Klasse zweitWidget)
was auf dem grünen Hauptwidget liegen sollte
Hier mal mein main.cpp
die Headerdatei vom Hauptwidget
die cpp-Datei vom Hauptwidget
die Headerdatei vom Subwidget (zweitWidget)
die cpp-Datei vom Subwidget (zweitWidget)
Warum wird das blaue subwidget nicht angezeigt ?
Besten Dank im vorraus
gruss zinaspi
vorweg ich habe früher mal ein wenig mit Qt3 programmiert.
und jetzt wollte ich mal ein wenig in Qt4 reinschnuppern.
Nur habe ich jetzt schon das erste Problem.
Früher habe ich (wenn es sich anbot) meine Projekte gerne
in Module aufgeteilt.
Sprich ein QWidget als Hauptwidget erstellt
und Klassen von Qt-Elementen abgeleitet (falls notwendig)
und die dann in das Hauptwidget reingehangen.
Nun ist das Ergebniss nicht das was ich erwartet habe.
es wird ohne Fehlermeldungen und Warnugen kompiliert und auch
ausgeführt.
Ich sehe auch mein grünes Hauptwidget
und der Exit-Button funktioniert auch
soweit so gut.
Aber wo ist das blaue Subwidget (Klasse zweitWidget)
was auf dem grünen Hauptwidget liegen sollte
Hier mal mein main.cpp
Code: Alles auswählen
#include <QApplication>
#include "hauptWidget.h"
int main(int argc, char** argv){
QApplication *app = new QApplication(argc, argv);
hauptWidget *haupt = new hauptWidget();
haupt->show();
return app->exec();
}Code: Alles auswählen
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include "zweitWidget.h"
class hauptWidget:public QWidget{
Q_OBJECT
public:
hauptWidget(QWidget *parent=0);
protected slots:
void ok();
private:
zweitWidget *neueWidget;
};Code: Alles auswählen
#include "hauptWidget.h"
hauptWidget::hauptWidget(QWidget *parent):QWidget(parent){
// Größe und Position für HauptWidget angeben
this->setGeometry(30,30,400,400);
// HauptWidget grün einfärben
this->setPalette(QPalette(QColor(50,200,50)));
int x = 2;
// Subwidget anlegen
neueWidget = new zweitWidget(x,this);
// QButton anlegen und einrichten
QPushButton *knopf = new QPushButton("Exit", this);
knopf->setGeometry(20,300,50,20);
connect (knopf, SIGNAL(clicked()),SLOT(ok()));
}
void hauptWidget::ok(){ qApp->quit(); }Code: Alles auswählen
#include <QWidget>
class zweitWidget:public QWidget{
Q_OBJECT
public:
zweitWidget(int zahl, QWidget *parent=0);
private:
int _zahl;
};Code: Alles auswählen
#include "zweitWidget.h"
zweitWidget::zweitWidget(int zahl, QWidget *parent):QWidget(parent){
_zahl = zahl;
// Größe und Position für SubWidget angeben
// Bezugsystem ist das Hauptwidget
this->setGeometry(50,50,50,50);
// SubWidget blau einfärben
this->setPalette(QPalette(QColor(50,50,200)));
}Besten Dank im vorraus
gruss zinaspi