Seite 1 von 1

QToolBar in einem QWidget

Verfasst: 16. Mai 2007 17:04
von defenderLQ
hi

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);

und header:

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;
};

#endif
fehler:

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
und die 2 variante:

in .cpp

Code: Alles auswählen

  QToolBar *mToolBar = new QToolBar();
  mToolBar->addAction(newmsgAct);

aber es lässt sich kompilieren aber es crasht die anwendung