wie ich sehe kann in einem QMainWindow ein QToolBar verwenden.
Aber ich will es in einem QWidget und das klappt nicht so.
have 2 varianten probiert das 1 geht wegen irgendeinem deklaration nicht
und die 2 variante kann man compilieren aber verursacht crash.
code ausschnitte(das newmsgAct geht ohne probs via context menu oder via button) :
1 variante:
Code: Alles auswählen
include "MessagesDialog.h"
#include <sstream>
#include <QContextMenuEvent>
#include <QMenu>
#include <QCursor>
#include <QPoint>
#include <QMouseEvent>
#include <QPixmap>
#include <QToolBar>
/** Constructor */
MessagesDialog::MessagesDialog(QWidget *parent)
: MainPage(parent)
{
/* Invoke the Qt Designer generated object setup routine */
ui.setupUi(this);
mToolBar = new QToolBar(this);
mToolBar->addAction(newmsgAct);
Code: Alles auswählen
#ifndef _MESSAGESDIALOG_H
#define _MESSAGESDIALOG_H
#include <QFileDialog>
#include "mainpage.h"
#include "ui_MessagesDialog.h"
class MessagesDialog : public MainPage
{
Q_OBJECT
public:
/** Default Constructor */
MessagesDialog(QWidget *parent = 0);
/** Default Destructor */
private slots:
private:
/** Defines the actions for the context menu */
QAction* newmsgAct;
QToolBar *mToolBar;
/** Qt Designer generated object */
Ui::MessagesDialog ui;
};
#endifund die 2 variante:In file included from gui\MessagesDialog.cpp:24:
gui\/MessagesDialog.h:84: error: ISO C++ forbids declaration of `QToolBar' with
no type
gui\/MessagesDialog.h:84: error: expected `;' before '*' token
gui\MessagesDialog.cpp: In constructor `MessagesDialog::MessagesDialog(QWidget*)
':
gui\MessagesDialog.cpp:66: error: `mToolBar' undeclared (first use this function
)
gui\MessagesDialog.cpp:66: error: (Each undeclared identifier is reported only o
nce for each function it appears in.)
mingw32-make[1]: *** [temp\obj\MessagesDialog.o] Error 1
mingw32-make[1]: Leaving directory
mingw32-make: *** [release] Error 2
in .cpp
Code: Alles auswählen
QToolBar *mToolBar = new QToolBar();
mToolBar->addAction(newmsgAct);