statusBar()->showMessage("test") geht nicht!

Alles rund um die Programmierung mit Qt
Antworten
darmstadt
Beiträge: 46
Registriert: 18. April 2006 09:33

statusBar()->showMessage("test") geht nicht!

Beitrag von darmstadt »

Ich habe eine Klasse DialogNewGraphic die von QMainWindow erbt.

Code: Alles auswählen

class DialogNewGraphic : public QMainWindow
{
    Q_OBJECT

    ...	
};
In dieser Klasse habe ich folgende Methode:

Code: Alles auswählen

void DialogNewGraphic::test(){
	statusBar()->showMessage("test");
}
Ich kann eine Instanz der Klasse DialogNewGraphic einwandfrei benutzen. Wenn ich allerdings die methode test aufrufe:

Code: Alles auswählen

DialogNewGraphic* dlg = new DialogNewGraphic(); 
dlg->test();
stürtzt das Programm ab. Warum?

Viele Grüße
bigmil
Beiträge: 23
Registriert: 18. Mai 2005 11:06

Beitrag von bigmil »

Hi darmstadt,

versuch mal diesen Ansatz:

Code: Alles auswählen

DialogNewGraphic* dlg = new DialogNewGraphic();
QStatusBar *bar = dlg->statusBar();

bar->showMessage( "test" );
Du brauchst somit deine "test" Funktion nicht mehr. Du kannst nun direkt auf dein MainWindow Statusbar zugreifen. Habe zwar selber noch nie ne Statusbar eingesetzt, aber so ist es in der Qt Doku beschrieben...schau mal nach: http://doc.trolltech.com/4.1/qmainwindow.html#statusBar


Gruss
bigmil
darmstadt
Beiträge: 46
Registriert: 18. April 2006 09:33

Beitrag von darmstadt »

Geht auch nicht.
bigmil
Beiträge: 23
Registriert: 18. Mai 2005 11:06

Beitrag von bigmil »

Was heisst den "geht auch nicht"? was geschieht den nun? Wo erstellst du dein MainWindow? Im main()? Dann würde ich die Statusbar im Konstruktor deiner Mainwindow Klasse erstellen

Code: Alles auswählen

QStatusBar *bar = this->statusBar();
oder dieser Ansatz im Konstruktor deiner MainWindow Klasse sollte auch gehen:

Code: Alles auswählen

QStatusBar *bar = new QStatusBar(this);
Poste sonst mal deine source.
Schau dir sonst das folgende Beispiel an:
http://doc.trolltech.com/4.1/mainwindow ... ation.html


Gruss
bigmil
Antworten