SLOTS funktionieren nicht (Menübar actions nicht ausgeführt)
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
SLOTS funktionieren nicht (Menübar actions nicht ausgeführt)
Hallo alle zusammen,
ich habe etwas mit den QT designer gemalt nun möchte ich den Menübar mit Methoden hinterlegen. (z.B.: bei einem click auf action schließt das programm, oder click auf info gibt infos zu software zurück!)
ich habe es mal so versucht gehabt:
header:
private slots:
//Menübar
void createAction();
source:
//Konstruktor
Tool::Tool(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
createAction();
}
.
.
.
void Tool::createAction()
{
ui.actionExit = new QAction(tr("E&xit"), this);
ui.actionExit->setShortcut(tr("Ctrl+Q"));
connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(close()));
}
Ich kriege zwar keine Fehlermeldung, aber der action funktioniert irgendwie nicht ? Kann mir mal jemand unter die Arme greifen ?
ich habe etwas mit den QT designer gemalt nun möchte ich den Menübar mit Methoden hinterlegen. (z.B.: bei einem click auf action schließt das programm, oder click auf info gibt infos zu software zurück!)
ich habe es mal so versucht gehabt:
header:
private slots:
//Menübar
void createAction();
source:
//Konstruktor
Tool::Tool(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
createAction();
}
.
.
.
void Tool::createAction()
{
ui.actionExit = new QAction(tr("E&xit"), this);
ui.actionExit->setShortcut(tr("Ctrl+Q"));
connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(close()));
}
Ich kriege zwar keine Fehlermeldung, aber der action funktioniert irgendwie nicht ? Kann mir mal jemand unter die Arme greifen ?
----------------------------------------------------------
Ich bedanke mich im voraus für eure Mühe...
MfG
Ich bedanke mich im voraus für eure Mühe...
MfG
1. : was genau sollen dies Doppelposts bewirken... (http://www.qtforum.de/forum/viewtopic.php?t=8275)
2. : Man sollte schon verstanden haben, was man da in den Editor hackt.. Deshalb die Frage zurueck: was genau ist ein "QAction"? Wie werden diese Actions laut der Doku (http://doc.trolltech.com/4.4/qaction.html#details) eingesetzt?
2. : Man sollte schon verstanden haben, was man da in den Editor hackt.. Deshalb die Frage zurueck: was genau ist ein "QAction"? Wie werden diese Actions laut der Doku (http://doc.trolltech.com/4.4/qaction.html#details) eingesetzt?
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
Hab beim QT assistant nachgeschaut....
In applications many common commands can be invoked via menus, toolbar buttons, and keyboard shortcuts. Since the user expects each command to be performed in the same way, regardless of the user interface used, it is useful to represent each command as an action.
... Aber es ist doch dann richtig ? verstehe nur noch bahnhof
In applications many common commands can be invoked via menus, toolbar buttons, and keyboard shortcuts. Since the user expects each command to be performed in the same way, regardless of the user interface used, it is useful to represent each command as an action.
... Aber es ist doch dann richtig ? verstehe nur noch bahnhof
----------------------------------------------------------
Ich bedanke mich im voraus für eure Mühe...
MfG
Ich bedanke mich im voraus für eure Mühe...
MfG
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
Ok ich habe gemerkt, was da gefehlt hat... Die ganzen Zeiger! Nun habe ich das zwar drinne aber ich kriege jetzt eine sehr sehr seltsame Meldung mit den ich nichts anfangen kann...
Also mein Quellcode sieht nun folgendermaßen aus:
header:
private:
Ui::ToolClass ui;
void createAction();
void createMenus();
QMenu *fileMenu;
QAction *actionExit;
source:
Tool::Tool(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
createAction();
createMenus();
}
....
void Tool::createAction()
{
ui.actionExit = new QAction(tr("E&xit"), this);
ui.actionExit->setShortcut(tr("Ctrl+Q"));
connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(close()));
}
void Tool::createMenus(){
QMenu *fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(actionExit);
}
....
Fehlermeldung bei Realese:
Unhandled exception at 0x650476ff in Tool.exe: 0xC0000005: Access violation reading location 0x00000003.
Also mein Quellcode sieht nun folgendermaßen aus:
header:
private:
Ui::ToolClass ui;
void createAction();
void createMenus();
QMenu *fileMenu;
QAction *actionExit;
source:
Tool::Tool(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
createAction();
createMenus();
}
....
void Tool::createAction()
{
ui.actionExit = new QAction(tr("E&xit"), this);
ui.actionExit->setShortcut(tr("Ctrl+Q"));
connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(close()));
}
void Tool::createMenus(){
QMenu *fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(actionExit);
}
....
Fehlermeldung bei Realese:
Unhandled exception at 0x650476ff in Tool.exe: 0xC0000005: Access violation reading location 0x00000003.
----------------------------------------------------------
Ich bedanke mich im voraus für eure Mühe...
MfG
Ich bedanke mich im voraus für eure Mühe...
MfG
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
fehlermeldung beim debugging:
A buffer overrun has occurred in Tool.exe which has corrupted the program's internal state. Press Break to debug the program or Continue to terminate the program.
For more details please see Help topic 'How to debug Buffer Overrun Issues'.
reicht mein Arbeistspeicher nicht mehr aus ???
A buffer overrun has occurred in Tool.exe which has corrupted the program's internal state. Press Break to debug the program or Continue to terminate the program.
For more details please see Help topic 'How to debug Buffer Overrun Issues'.
reicht mein Arbeistspeicher nicht mehr aus ???
----------------------------------------------------------
Ich bedanke mich im voraus für eure Mühe...
MfG
Ich bedanke mich im voraus für eure Mühe...
MfG
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44