Qt Jambi Home

com.trolltech.qt.gui
Class QToolButton

java.lang.Object
  extended by com.trolltech.qt.QSignalEmitter
      extended by com.trolltech.qt.QtJambiObject
          extended by com.trolltech.qt.core.QObject
              extended by com.trolltech.qt.gui.QWidget
                  extended by com.trolltech.qt.gui.QAbstractButton
                      extended by com.trolltech.qt.gui.QToolButton
All Implemented Interfaces:
QPaintDeviceInterface, QtJambiInterface

public class QToolButton
extends QAbstractButton

The QToolButton class provides a quick-access button to commands or options, usually used inside a QToolBar.

A tool button is a special button that provides quick-access to specific commands or options. As opposed to a normal command button, a tool button usually doesn't show a text label, but shows an icon instead.

Tool buttons are normally created when new QAction instances are created with QToolBar::addAction() or existing actions are added to a toolbar with QToolBar::addAction(). It is also possible to construct tool buttons in the same way as any other widget, and arrange them alongside other widgets in layouts.

One classic use of a tool button is to select tools; for example, the "pen" tool in a drawing program. This would be implemented by using a QToolButton as a toggle button (see setToggleButton()).

QToolButton supports auto-raising. In auto-raise mode, the button draws a 3D frame only when the mouse points at it. The feature is automatically turned on when a button is used inside a QToolBar. Change it with setAutoRaise.

A tool button's icon is set as QIcon. This makes it possible to specify different pixmaps for the disabled and active state. The disabled pixmap is used when the button's functionality is not available. The active pixmap is displayed when the button is auto-raised because the mouse pointer is hovering over it.

The button's look and dimension is adjustable with setToolButtonStyle and setIconSize. When used inside a QToolBar in a QMainWindow, the button automatically adjusts to QMainWindow's settings (see QMainWindow::setToolButtonStyle() and QMainWindow::setIconSize()). Instead of an icon, a tool button can also display an arrow symbol, specified with arrowType.

A tool button can offer additional choices in a popup menu. The popup menu can be set using setMenu. Use setPopupMode to configure the different modes available for tool buttons with a menu set. The default mode is DelayedPopupMode which is sometimes used with the "Back" button in a web browser. After pressing and holding the button down for a while, a menu pops up showing a list of possible pages to jump to. The default delay is 600 ms; you can adjust it with setPopupDelay().

Qt Assistant's toolbar with tool buttons
Qt Assistant's toolbar contains tool buttons that are associated with actions used in other parts of the main window.

See Also:
QPushButton, QToolBar, QMainWindow, QAction, GUI Design Handbook: Push Button

Nested Class Summary
static class QToolButton.ToolButtonPopupMode
          Describes how a menu should be popped up for tool buttons that has a menu set or contains a list of actions.
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
QWidget.RenderFlag, QWidget.RenderFlags
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.Signal0, QSignalEmitter.Signal1<A>, QSignalEmitter.Signal2<A,B>, QSignalEmitter.Signal3<A,B,C>, QSignalEmitter.Signal4<A,B,C,D>, QSignalEmitter.Signal5<A,B,C,D,E>, QSignalEmitter.Signal6<A,B,C,D,E,F>, QSignalEmitter.Signal7<A,B,C,D,E,F,G>, QSignalEmitter.Signal8<A,B,C,D,E,F,G,H>, QSignalEmitter.Signal9<A,B,C,D,E,F,G,H,I>
 
Field Summary
 QSignalEmitter.Signal1<QAction> triggered
          This signal is emitted when the given arg__1 is triggered.
 
Fields inherited from class com.trolltech.qt.gui.QAbstractButton
clicked, pressed, released, toggled
 
Fields inherited from class com.trolltech.qt.gui.QWidget
customContextMenuRequested
 
Constructor Summary
QToolButton()
          Equivalent to QToolButton(0).
QToolButton(QWidget parent)
          Constructs an empty tool button with parent parent.
 
Method Summary
protected  void actionEvent(QActionEvent arg__1)
          

This event handler is called with the given arg__1 whenever the widget's actions are changed.

 Qt.ArrowType arrowType()
          Returns whether the button displays an arrow instead of a normal icon.
 boolean autoRaise()
          Returns whether auto-raising is enabled or not..
protected  void changeEvent(QEvent arg__1)
          

This event handler can be reimplemented to handle state changes.

The state being changed in this event can be retrieved through event arg__1.

Change events include: QEvent::ToolBarChange, QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::WindowTitleChange, QEvent::IconTextChange, QEvent::ModifiedChange, QEvent::MouseTrackingChange, QEvent::ParentChange, QEvent::WindowStateChange, QEvent::LanguageChange, QEvent::LocaleChange, QEvent::LayoutDirectionChange.

 QAction defaultAction()
          Returns the default action.
protected  void enterEvent(QEvent arg__1)
          

This event handler can be reimplemented in a subclass to receive widget enter events which are passed in the arg__1 parameter.

 boolean event(QEvent e)
          

This is the main event handler; it handles event arg__1. You can reimplement this function in a subclass, but we recommend using one of the specialized event handlers instead.

Key press and release events are treated differently from other events. event checks for Tab and Shift+Tab and tries to move the focus appropriately. If there is no widget to move the focus to (or the key press is not Tab or Shift+Tab), event calls keyPressEvent.

Mouse and tablet event handling is also slightly special: only when the widget is enabled, event will call the specialized handlers such as mousePressEvent; otherwise it will discard the event.

This function returns true if the event was recognized, otherwise it returns false. If the recognized event was accepted (see QEvent::accepted), any further processing such as event propagation to the parent widget stops.

static QToolButton fromNativePointer(QNativePointer nativePointer)
          This function returns the QToolButton instance pointed to by nativePointer
protected  boolean hitButton(QPoint pos)
          

Returns true if pos is inside the clickable button rectangle; otherwise returns false.

protected  void initStyleOption(QStyleOptionToolButton option)
          Initialize option with the values from this QToolButton.
protected  void leaveEvent(QEvent arg__1)
          

This event handler can be reimplemented in a subclass to receive widget leave events which are passed in the arg__1 parameter.

 QMenu menu()
          Returns the associated menu, or 0 if no menu has been defined.
 QSize minimumSizeHint()
          

Returns the recommended minimum size for the widget.

protected  void mousePressEvent(QMouseEvent arg__1)
          

This event handler, for event arg__1, can be reimplemented in a subclass to receive mouse press events for the widget.

If you create new widgets in the mousePressEvent the mouseReleaseEvent may not end up where you expect, depending on the underlying window system (or X11 window manager), the widgets' location and maybe more.

The default implementation implements the closing of popup widgets when you click outside the window. For other widget types it does nothing.

protected  void mouseReleaseEvent(QMouseEvent arg__1)
          

This event handler, for event arg__1, can be reimplemented in a subclass to receive mouse release events for the widget.

protected  void nextCheckState()
          

This virtual handler is called when a button is clicked.

protected  void paintEvent(QPaintEvent arg__1)
          Paints the button in response to the paint arg__1.
 QToolButton.ToolButtonPopupMode popupMode()
          Returns describes the way that popup menus are used with tool buttons.
 void setArrowType(Qt.ArrowType type)
          Sets whether the button displays an arrow instead of a normal icon to type.
 void setAutoRaise(boolean enable)
          Sets whether auto-raising is enabled or not.
 void setDefaultAction(QAction arg__1)
          Sets the default action to arg__1.
 void setMenu(QMenu menu)
          Associates the given menu with this tool button.
 void setPopupMode(QToolButton.ToolButtonPopupMode mode)
          Sets describes the way that popup menus are used with tool buttons to mode.
 void setToolButtonStyle(Qt.ToolButtonStyle style)
          Sets whether the tool button displays an icon only, text only, or text beside/below the icon.
 void showMenu()
          Shows (pops up) the associated popup menu.
 QSize sizeHint()
          

Returns the recommended size for the widget.

protected  void timerEvent(QTimerEvent arg__1)
          

This event handler can be reimplemented in a subclass to receive timer events for the object.

QTimer provides a higher-level interface to the timer functionality, and also more general information about timers. The timer event is passed in the arg__1 parameter.

 Qt.ToolButtonStyle toolButtonStyle()
          Returns whether the tool button displays an icon only, text only, or text beside/below the icon..
 
Methods inherited from class com.trolltech.qt.gui.QAbstractButton
animateClick, animateClick, autoExclusive, autoRepeat, autoRepeatDelay, autoRepeatInterval, checkStateSet, click, focusInEvent, focusOutEvent, group, icon, iconSize, isCheckable, isChecked, isDown, keyPressEvent, keyReleaseEvent, mouseMoveEvent, setAutoExclusive, setAutoRepeat, setAutoRepeatDelay, setAutoRepeatInterval, setCheckable, setChecked, setDown, setIcon, setIconSize, setShortcut, setShortcut, setShortcut, setText, shortcut, text, toggle
 
Methods inherited from class com.trolltech.qt.gui.QWidget
acceptDrops, accessibleDescription, accessibleName, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, createWinId, cursor, depth, destroy, destroy, destroy, devType, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, ensurePolished, focusNextChild, focusNextPrevChild, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isLeftToRight, isMaximized, isMinimized, isModal, isRightToLeft, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, layout, layoutDirection, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumWidth, mouseDoubleClickEvent, mouseGrabber, move, move, moveEvent, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, overrideWindowState, overrideWindowState, paintEngine, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y
 
Methods inherited from class com.trolltech.qt.core.QObject
blockSignals, childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, property, removeEventFilter, setObjectName, setParent, setProperty, signalsBlocked, startTimer, thread
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
disconnect, disconnect, signalSender
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Field Detail

triggered

public final QSignalEmitter.Signal1<QAction> triggered

This signal is emitted when the given arg__1 is triggered.

The action may also be associated with other parts of the user interface, such as menu items and keyboard shortcuts. Sharing actions in this way helps make the user interface more consistent and is often less work to implement.

Compatible Slot Signatures:
void mySlot(com.trolltech.qt.gui.QAction arg__1)
void mySlot()

Constructor Detail

QToolButton

public QToolButton()

Equivalent to QToolButton(0).


QToolButton

public QToolButton(QWidget parent)

Constructs an empty tool button with parent parent.

Method Detail

arrowType

public final Qt.ArrowType arrowType()

Returns whether the button displays an arrow instead of a normal icon.

This displays an arrow as the icon for the QToolButton.

See Also:
setArrowType

autoRaise

public final boolean autoRaise()

Returns whether auto-raising is enabled or not..

The default is disabled (i.e. false).

This property is currently ignored on Mac OS X when using QMacStyle.

See Also:
setAutoRaise

defaultAction

public final QAction defaultAction()

Returns the default action.

See Also:
setDefaultAction

menu

public final QMenu menu()

Returns the associated menu, or 0 if no menu has been defined.

See Also:
setMenu

popupMode

public final QToolButton.ToolButtonPopupMode popupMode()

Returns describes the way that popup menus are used with tool buttons.

See Also:
setPopupMode

setArrowType

public final void setArrowType(Qt.ArrowType type)

Sets whether the button displays an arrow instead of a normal icon to type.

This displays an arrow as the icon for the QToolButton.

See Also:
arrowType

setAutoRaise

public final void setAutoRaise(boolean enable)

Sets whether auto-raising is enabled or not. to enable.

The default is disabled (i.e. false).

This property is currently ignored on Mac OS X when using QMacStyle.

See Also:
autoRaise

setDefaultAction

public final void setDefaultAction(QAction arg__1)

Sets the default action to arg__1.

If a tool button has a default action, the action defines the button's properties like text, icon, tool tip, etc.

See Also:
defaultAction

setMenu

public final void setMenu(QMenu menu)

Associates the given menu with this tool button.

The menu will be shown according to the button's popupMode.

Ownership of the menu is not transferred to the tool button.

See Also:
menu

setPopupMode

public final void setPopupMode(QToolButton.ToolButtonPopupMode mode)

Sets describes the way that popup menus are used with tool buttons to mode.

See Also:
popupMode

setToolButtonStyle

public final void setToolButtonStyle(Qt.ToolButtonStyle style)

Sets whether the tool button displays an icon only, text only, or text beside/below the icon. to style.

The default is Qt::ToolButtonIconOnly.

QToolButton automatically connects this slot to the relevant signal in the QMainWindow in which is resides.

See Also:
toolButtonStyle

showMenu

public final void showMenu()

Shows (pops up) the associated popup menu. If there is no such menu, this function does nothing. This function does not return until the popup menu has been closed by the user.


toolButtonStyle

public final Qt.ToolButtonStyle toolButtonStyle()

Returns whether the tool button displays an icon only, text only, or text beside/below the icon..

The default is Qt::ToolButtonIconOnly.

QToolButton automatically connects this slot to the relevant signal in the QMainWindow in which is resides.

See Also:
setToolButtonStyle

actionEvent

protected void actionEvent(QActionEvent arg__1)

This event handler is called with the given arg__1 whenever the widget's actions are changed.

Overrides:
actionEvent in class QWidget
See Also:
addAction, insertAction, removeAction, actions, QActionEvent

changeEvent

protected void changeEvent(QEvent arg__1)

This event handler can be reimplemented to handle state changes.

The state being changed in this event can be retrieved through event arg__1.

Change events include: QEvent::ToolBarChange, QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::WindowTitleChange, QEvent::IconTextChange, QEvent::ModifiedChange, QEvent::MouseTrackingChange, QEvent::ParentChange, QEvent::WindowStateChange, QEvent::LanguageChange, QEvent::LocaleChange, QEvent::LayoutDirectionChange.

Overrides:
changeEvent in class QAbstractButton

enterEvent

protected void enterEvent(QEvent arg__1)

This event handler can be reimplemented in a subclass to receive widget enter events which are passed in the arg__1 parameter.

An event is sent to the widget when the mouse cursor enters the widget.

Overrides:
enterEvent in class QWidget
See Also:
leaveEvent, mouseMoveEvent, event

event

public boolean event(QEvent e)

This is the main event handler; it handles event arg__1. You can reimplement this function in a subclass, but we recommend using one of the specialized event handlers instead.

Key press and release events are treated differently from other events. event checks for Tab and Shift+Tab and tries to move the focus appropriately. If there is no widget to move the focus to (or the key press is not Tab or Shift+Tab), event calls keyPressEvent.

Mouse and tablet event handling is also slightly special: only when the widget is enabled, event will call the specialized handlers such as mousePressEvent; otherwise it will discard the event.

This function returns true if the event was recognized, otherwise it returns false. If the recognized event was accepted (see QEvent::accepted), any further processing such as event propagation to the parent widget stops.

Overrides:
event in class QAbstractButton
See Also:
closeEvent, focusInEvent, focusOutEvent, enterEvent, keyPressEvent, keyReleaseEvent, leaveEvent, mouseDoubleClickEvent, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, moveEvent, paintEvent, resizeEvent, QObject::event, QObject::timerEvent

hitButton

protected boolean hitButton(QPoint pos)

Returns true if pos is inside the clickable button rectangle; otherwise returns false.

By default, the clickable area is the entire widget. Subclasses may reimplement this function to provide support for clickable areas of different shapes and sizes.

Overrides:
hitButton in class QAbstractButton

leaveEvent

protected void leaveEvent(QEvent arg__1)

This event handler can be reimplemented in a subclass to receive widget leave events which are passed in the arg__1 parameter.

A leave event is sent to the widget when the mouse cursor leaves the widget.

Overrides:
leaveEvent in class QWidget
See Also:
enterEvent, mouseMoveEvent, event

minimumSizeHint

public QSize minimumSizeHint()

Returns the recommended minimum size for the widget.

If the value of this property is an invalid size, no minimum size is recommended.

The default implementation of minimumSizeHint returns an invalid size if there is no layout for this widget, and returns the layout's minimum size otherwise. Most built-in widgets reimplement minimumSizeHint.

QLayout will never resize a widget to a size smaller than the minimum size hint unless minimumSize is set or the size policy is set to QSizePolicy::Ignore. If minimumSize is set, the minimum size hint will be ignored.

Overrides:
minimumSizeHint in class QWidget
See Also:
QSize::isValid, resize, setMinimumSize, sizePolicy

mousePressEvent

protected void mousePressEvent(QMouseEvent arg__1)

This event handler, for event arg__1, can be reimplemented in a subclass to receive mouse press events for the widget.

If you create new widgets in the mousePressEvent the mouseReleaseEvent may not end up where you expect, depending on the underlying window system (or X11 window manager), the widgets' location and maybe more.

The default implementation implements the closing of popup widgets when you click outside the window. For other widget types it does nothing.

Overrides:
mousePressEvent in class QAbstractButton
See Also:
mouseReleaseEvent, mouseDoubleClickEvent, mouseMoveEvent, event, QMouseEvent, Example

mouseReleaseEvent

protected void mouseReleaseEvent(QMouseEvent arg__1)

This event handler, for event arg__1, can be reimplemented in a subclass to receive mouse release events for the widget.

Overrides:
mouseReleaseEvent in class QAbstractButton
See Also:
mousePressEvent, mouseDoubleClickEvent, mouseMoveEvent, event, QMouseEvent, Example

nextCheckState

protected void nextCheckState()

This virtual handler is called when a button is clicked. The default implementation calls setChecked(!isChecked) if the button isCheckable. It allows subclasses to implement intermediate button states.

Overrides:
nextCheckState in class QAbstractButton
See Also:
checkStateSet

paintEvent

protected void paintEvent(QPaintEvent arg__1)

Paints the button in response to the paint arg__1.

Specified by:
paintEvent in class QAbstractButton
See Also:
event, repaint, update, QPainter, QPixmap, QPaintEvent, Analog Clock Example

sizeHint

public QSize sizeHint()

Returns the recommended size for the widget.

If the value of this property is an invalid size, no size is recommended.

The default implementation of sizeHint returns an invalid size if there is no layout for this widget, and returns the layout's preferred size otherwise.

Overrides:
sizeHint in class QWidget
See Also:
QSize::isValid, minimumSizeHint, sizePolicy, setMinimumSize, updateGeometry

timerEvent

protected void timerEvent(QTimerEvent arg__1)

This event handler can be reimplemented in a subclass to receive timer events for the object.

QTimer provides a higher-level interface to the timer functionality, and also more general information about timers. The timer event is passed in the arg__1 parameter.

Overrides:
timerEvent in class QAbstractButton
See Also:
startTimer, killTimer, event

fromNativePointer

public static QToolButton fromNativePointer(QNativePointer nativePointer)
This function returns the QToolButton instance pointed to by nativePointer

Parameters:
nativePointer - the QNativePointer of which object should be returned.

initStyleOption

protected final void initStyleOption(QStyleOptionToolButton option)
Initialize option with the values from this QToolButton. This method is useful for subclasses when they need a QStyleOptionToolButton, but don't want to fill in all the information themselves.


Qt Jambi Home