PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QToolbar



gyros'nmaronen
23-05-2006, 09:24
Gauden Tach zusammen

Ich wollte mir ein schönes Toolbar basteln, worauf ich diverse Icons raufhauen möchte. Bekomme aber schon bei der Deklaration eine tolle Fehlermeldung!

Deklaration:


_tools = new QToolBar( this, "Toolbar" );


Fehlermeldung:



C:\Qt\manu\MyMainWindow.cpp(64) : error C2664: '__thiscall QToolBar::QToolBar(class QMainWindow *,const char *)' : Konvertierung des Parameters 1 von 'class MyMainWindow *const ' in 'class QMainWindow *' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat


Hab die böse Vermutung das ich meine Klasse MyMainWindow von QMainWindow ableiten muss. Meine MyMainWindow Klasse ist von QWidget abgeleitet. Zu nähreren Beschreibung meines Problems. Es ist immer noch mein Tabellen Problem. Soll so ähnlich aussehen wie Excell nur mit Standartfunktionen wie copy/paste, cut, speichern, öffnen, zeile spalte einfügen usw.

Danke schon mal im voraus

MFG gyros

gyros'nmaronen
23-05-2006, 12:11
Wenn ihr schon mal am lesen seit, könntet ihr mir bitte gleich sagen wie ich das angezeigt bekomme. Oder wie ich meine Icons und Menü darauf platziert bekomme.

DANKE...

MFG gyros

anda_skoa
23-05-2006, 17:26
Am besten du erzeugst ein von QMainWindow abgeleitetes Fenster und nimmst dein Widget als dessen CentralWidget

Das QMainWindow erzeugt MenuBar und ToolBar für dich, bzw du kannst direkt Actions im Designer zuordnen

Ciao,
_

gyros'nmaronen
30-05-2006, 08:20
Moin

Hab jetzt meine Klasse von QMainWindow abgeleitet und hab mir ein Toolbar mit einem Actionbutton gebaut. Aber irgendwie zeigt überhaupt nichts an, was für mich unverständlich ist.

Hier mal mein Code:




_fileTools = new QToolBar( this , "Icon Tool-Bar" );
// _fileTools->setLabel( "File Operations" );
_loadToolButton = new QToolButton( loadIcon, "load files", QString::null,
this, SLOT(load()), _fileTools, "load files" );

_fileOpenAction = new QAction(
"New Chart", QPixmap( loadIcon ),
"&New", CTRL+Key_O, this, "new" );
_fileOpenAction->addTo( _fileTools );
_fileTools->addSeparator();
connect( _fileOpenAction, SIGNAL( activated() ), this, SLOT( load() ) );

loadIcon ist mein Icon was auf der Symbolleiste platziert werden soll.
Er zeigt weder die Symbolleiste noch den Button an.
Verdammte ...
Danke für die Hilfe.

MFG gyros

anda_skoa
30-05-2006, 19:02
Probier mal addDockWindow(_fileTools)

Außerdem rate ich eher dazu QAction zu verwenden und einfach in den Toolbar einzuhängen und der Action das Erzeugen des Toolbar Buttons zu überlassen.

Hat auch den Vorteil daß man die selbe Action auch in einem Menü anzeigen lassen kann

Ciaa,
_

gyros'nmaronen
09-06-2006, 13:55
Danke schön! Hat alles geklappt. Lag aber auch am Layoutmanager. Das Menu wurde auch mit einem BoxLayout angezeigt und hat somit das toolbar überdeckt.

MFG gyros