×
Namespaces

Variants
Actions

How to use QToolBar and QToolButton in Qt

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Tested with
Devices(s): Tested on Emulator
Compatibility
Platform(s): S60 3rd Edition
Symbian
Article
Keywords: QToolBar,QToolButton,QIcon
Created: james1980 (31 Dec 2008)
Last edited: hamishwillee (11 Oct 2012)

Contents

Introduction

This is a small code snippet which shows the use of the toolbar and tool button in Qt. With use of this code snippet one can easily create a small toolbar and adds buttons to it. Here all three buttons are set for same function that is to quit from application.

Code Snippet

#include <QApplication>
#include <QToolButton>
#include <QToolBar>
#include <QWidget>
#include <QVBoxLayout>
#include <QIcon>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *win = new QWidget;
QToolBar *tool = new QToolBar;
tool->setGeometry(0,0,200,20);
QVBoxLayout *layout = new QVBoxLayout;
QToolButton *button = new QToolButton;
button->setGeometry(0,0,10,20);
 
button->setIcon(QIcon("c://openbutton.png"));
QToolButton *button1 = new QToolButton;
button1->setIcon(QIcon("c://savebutton.png"));
QToolButton *button2 = new QToolButton;
button2->setIcon(QIcon("c://exitbutton.png"));
tool->addWidget(button);
tool->addSeparator();
tool->addWidget(button1);
tool->addSeparator();
tool->addWidget(button2);
layout->addWidget(tool);
win->setLayout(layout);
win->showMaximized();
return app.exec();
}


Screenshot

Qttoolbar1.jpg

Making the toolbar movable

The toolbar can be made movable by using the following functions,

Note.pngNote: This all function will work only when toolbar is placed in QMainWindow.

  • This function is used to move toolbar in QMainWindow.
toolbar->setMovable(1);
  • This is used to enable drag and drop toolbar.
toolbar->setFloatable(1);
  • This is used to know were toolbar is to be place in QMainWindow.
toolbar->setAllowedAreas(Qt::AllToolBarAreas);

More information

This page was last modified on 11 October 2012, at 04:17.
650 page views in the last 30 days.
×