|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.trolltech.qt.QSignalEmitter
com.trolltech.qt.QtJambiObject
com.trolltech.qt.core.QObject
com.trolltech.qt.gui.QWidget
com.trolltech.qt.gui.QAbstractButton
public abstract class QAbstractButton
The QAbstractButton
class is the abstract base class of button widgets, providing functionality common to buttons. This class implements an abstract button. Subclasses of this class handle user actions, and specify how the button is drawn.
QAbstractButton
provides support for both push buttons and checkable (toggle) buttons. Checkable buttons are implemented in the QRadioButton
and QCheckBox
classes. Push buttons are implemented in the QPushButton
and QToolButton
classes; these also provide toggle behavior if required.
Any button can display a label containing text and an icon. setText()
sets the text; setIcon()
sets the icon. If a button is disabled, its label is changed to give the button a "disabled" appearance.
If the button is a text button with a string containing an ampersand ('&'), QAbstractButton
automatically creates a shortcut key. For example:
QPushButton *button = new QPushButton(tr("Ro&ck && Roll"), this);The Alt+C shortcut is assigned to the button, i.e., when the user presses Alt+C the button will call
animateClick()
. See the QShortcut
documentation for details (to display an actual ampersand, use '&&'). You can also set a custom shortcut key using the setShortcut()
function. This is useful mostly for buttons that do not have any text, because they have no automatic shortcut.
button->setIcon(QIcon(":/images/print.png")); button->setShortcut(tr("Alt+F7"));All of the buttons provided by Qt (
QPushButton
, QToolButton
, QCheckBox
, and QRadioButton
) can display both text
and icons
. A button can be made the default button in a dialog are provided by QPushButton::setDefault()
and QPushButton::setAutoDefault()
.
QAbstractButton
provides most of the states used for buttons:
isDown()
indicates whether the button is pressed down.isChecked()
indicates whether the button is checked. Only checkable buttons can be checked and unchecked (see below).setAutoRepeat()
sets whether the button will auto-repeat if the user holds it down. autoRepeatDelay
and autoRepeatInterval
define how auto-repetition is done.setCheckable()
sets whether the button is a toggle button or not.isDown()
and isChecked()
is as follows. When the user clicks a toggle button to check it, the button is first pressed then released into the checked state. When the user clicks it again (to uncheck it), the button moves first to the pressed state, then to the unchecked state (isChecked()
and isDown()
are both false). QAbstractButton
provides four signals:
pressed()
is emitted when the left mouse button is pressed while the mouse cursor is inside the button.released()
is emitted when the left mouse button is released.clicked()
is emitted when the button is first pressed and then released, when the shortcut key is typed, or when click()
or animateClick()
is called.toggled()
is emitted when the state of a toggle button changes.QAbstractButton
, you must reimplement at least paintEvent()
to draw the button's outline and its text or pixmap. It is generally advisable to reimplement sizeHint() as well, and sometimes hitButton()
(to determine whether a button press is within the button). For buttons with more than two states (like tri-state buttons), you will also have to reimplement checkStateSet()
and nextCheckState()
. QButtonGroup
.
Nested Class Summary |
---|
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, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9 |
Field Summary | |
---|---|
QSignalEmitter.Signal1 |
clicked
This signal is emitted when the button is activated (i.e. |
QSignalEmitter.Signal0 |
pressed
This signal is emitted when the button is pressed down. |
QSignalEmitter.Signal0 |
released
This signal is emitted when the button is released. |
QSignalEmitter.Signal1 |
toggled
This signal is emitted whenever a checkable button changes its state. |
Fields inherited from class com.trolltech.qt.gui.QWidget |
---|
customContextMenuRequested |
Constructor Summary | |
---|---|
QAbstractButton()
Constructs an abstract button with a parent. |
|
QAbstractButton(QWidget parent)
Constructs an abstract button with a parent. |
Method Summary | |
---|---|
void |
animateClick()
Performs an animated click. |
void |
animateClick(int msec)
Performs an animated click. |
boolean |
autoExclusive()
This property holds whether auto-exclusivity is enabled. |
boolean |
autoRepeat()
This property holds whether autoRepeat is enabled. |
int |
autoRepeatDelay()
This property holds the initial delay of auto-repetition. |
int |
autoRepeatInterval()
This property holds the interval of auto-repetition. |
protected void |
checkStateSet()
This virtual handler is called when setChecked() was called, unless it was called from within nextCheckState() . |
void |
click()
Performs a click. |
static QAbstractButton |
fromNativePointer(QNativePointer nativePointer)
|
QButtonGroup |
group()
Returns the group that this button belongs to. |
protected boolean |
hitButton(QPoint pos)
Returns true if pos is inside the clickable button rectangle; otherwise returns false. |
QIcon |
icon()
This property holds the icon shown on the button. |
QSize |
iconSize()
This property holds the icon size used for this button. |
boolean |
isCheckable()
This property holds whether the button is checkable. |
boolean |
isChecked()
This property holds whether the button is checked. |
boolean |
isDown()
This property holds whether the button is pressed down. |
protected void |
nextCheckState()
This virtual handler is called when a button is clicked. |
void |
setAutoExclusive(boolean arg__1)
This property holds whether auto-exclusivity is enabled. |
void |
setAutoRepeat(boolean arg__1)
This property holds whether autoRepeat is enabled. |
void |
setAutoRepeatDelay(int arg__1)
This property holds the initial delay of auto-repetition. |
void |
setAutoRepeatInterval(int arg__1)
This property holds the interval of auto-repetition. |
void |
setCheckable(boolean arg__1)
This property holds whether the button is checkable. |
void |
setChecked(boolean arg__1)
This property holds whether the button is checked. |
void |
setDown(boolean arg__1)
This property holds whether the button is pressed down. |
void |
setIcon(QIcon icon)
This property holds the icon shown on the button. |
void |
setIconSize(QSize size)
This property holds the icon size used for this button. |
void |
setShortcut(QKeySequence.StandardKey key)
Sets the shortcut to the key sequence for the given key. |
void |
setShortcut(QKeySequence key)
This property holds the mnemonic associated with the button. |
void |
setShortcut(java.lang.String key)
Sets the shortcut to the key sequence for the given key string. |
void |
setText(java.lang.String text)
This property holds the text shown on the button. |
QKeySequence |
shortcut()
This property holds the mnemonic associated with the button. |
java.lang.String |
text()
This property holds the text shown on the button. |
void |
toggle()
Toggles the state of a checkable button. |
Methods inherited from class com.trolltech.qt.core.QObject |
---|
childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty |
Methods inherited from class com.trolltech.qt.QtJambiObject |
---|
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr |
Methods inherited from class com.trolltech.qt.QSignalEmitter |
---|
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread |
Methods inherited from class java.lang.Object |
---|
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.trolltech.qt.QtJambiInterface |
---|
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership |
Field Detail |
---|
public final QSignalEmitter.Signal1 clicked
click()
or animateClick()
is called. Notably, this signal is not emitted if you call setDown()
, setChecked()
or toggle()
. If the button is checkable, checked is true if the button is checked, or false if the button is unchecked.
pressed()
, released()
, and toggled()
.
public final QSignalEmitter.Signal0 pressed
released()
, and clicked()
.
public final QSignalEmitter.Signal0 released
pressed()
, clicked()
, and toggled()
.
public final QSignalEmitter.Signal1 toggled
This may be the result of a user action, click()
slot activation, or because setChecked()
was called.
The states of buttons in exclusive button groups are updated before this signal is emitted. This means that slots can act on either the "off" signal or the "on" signal emitted by the buttons in the group whose states have changed.
For example, a slot that reacts to signals emitted by newly checked buttons but which ignores signals from buttons that have been unchecked can be implemented using the following pattern:
void MyWidget::reactToToggle(bool checked) { if (checked) { // Examine the new button states. ... } }Button groups can be created using the
QButtonGroup
class, and updates to the button states monitored with the QButtonGroup::buttonClicked()
signal. checked
, and clicked()
.
Constructor Detail |
---|
public QAbstractButton()
public QAbstractButton(QWidget parent)
Method Detail |
---|
public final void animateClick()
Calling this function again before the button was released will reset the release timer.
All signals associated with a click are emitted as appropriate.
This function does nothing if the button is disabled.
click()
.
public final void animateClick(int msec)
Calling this function again before the button was released will reset the release timer.
All signals associated with a click are emitted as appropriate.
This function does nothing if the button is disabled.
click()
.
public final boolean autoExclusive()
The property has no effect on buttons that belong to a button group.
autoExclusive
is off by default, except for radio buttons.
QRadioButton
.
public final boolean autoRepeat()
autoRepeat
is enabled. If autoRepeat
is enabled, then the pressed()
, released()
, and clicked()
signals are emitted at regular intervals when the button is down. autoRepeat
is off by default. The initial delay and the repetition interval are defined in milliseconds by autoRepeatDelay
and autoRepeatInterval
. Note: If a button is pressed down by a shortcut key, then auto-repeat is enabled and timed by the system and not by this class. The pressed()
, released()
, and clicked()
signals will be emitted like in the normal case.
public final int autoRepeatDelay()
autoRepeat
is enabled, then autoRepeatDelay
defines the initial delay in milliseconds before auto-repetition kicks in. autoRepeat
, and autoRepeatInterval
.
public final int autoRepeatInterval()
autoRepeat
is enabled, then autoRepeatInterval
defines the length of the auto-repetition interval in millisecons. autoRepeat
, and autoRepeatDelay
.
public final void click()
All the usual signals associated with a click are emitted as appropriate. If the button is checkable, the state of the button is toggled.
This function does nothing if the button is disabled.
animateClick()
.
public final QButtonGroup group()
If the button is not a member of any QButtonGroup
, this function returns 0.
QButtonGroup
.
public final QIcon icon()
iconSize
property.
public final QSize iconSize()
public final boolean isCheckable()
checked
.
public final boolean isChecked()
checkable
.
public final boolean isDown()
pressed()
and clicked()
are not emitted if you set this property to true. The default is false.
public final void setAutoExclusive(boolean arg__1)
The property has no effect on buttons that belong to a button group.
autoExclusive
is off by default, except for radio buttons.
QRadioButton
.
public final void setAutoRepeat(boolean arg__1)
autoRepeat
is enabled. If autoRepeat
is enabled, then the pressed()
, released()
, and clicked()
signals are emitted at regular intervals when the button is down. autoRepeat
is off by default. The initial delay and the repetition interval are defined in milliseconds by autoRepeatDelay
and autoRepeatInterval
. Note: If a button is pressed down by a shortcut key, then auto-repeat is enabled and timed by the system and not by this class. The pressed()
, released()
, and clicked()
signals will be emitted like in the normal case.
public final void setAutoRepeatDelay(int arg__1)
autoRepeat
is enabled, then autoRepeatDelay
defines the initial delay in milliseconds before auto-repetition kicks in. autoRepeat
, and autoRepeatInterval
.
public final void setAutoRepeatInterval(int arg__1)
autoRepeat
is enabled, then autoRepeatInterval
defines the length of the auto-repetition interval in millisecons. autoRepeat
, and autoRepeatDelay
.
public final void setCheckable(boolean arg__1)
checked
.
public final void setChecked(boolean arg__1)
checkable
.
public final void setDown(boolean arg__1)
pressed()
and clicked()
are not emitted if you set this property to true. The default is false.
public final void setIcon(QIcon icon)
iconSize
property.
public final void setIconSize(QSize size)
public final void setShortcut(QKeySequence key)
public final void setText(java.lang.String text)
text()
function will return a an empty string. If the text contains an ampersand character ('&'), a shortcut is automatically created for it. The character that follows the '&' will be used as the shortcut key. Any previous shortcut will be overwritten, or cleared if no shortcut is defined by the text. See the QShortcut
documentation for details (to display an actual ampersand, use '&&').
There is no default text.
public final QKeySequence shortcut()
public final java.lang.String text()
text()
function will return a an empty string. If the text contains an ampersand character ('&'), a shortcut is automatically created for it. The character that follows the '&' will be used as the shortcut key. Any previous shortcut will be overwritten, or cleared if no shortcut is defined by the text. See the QShortcut
documentation for details (to display an actual ampersand, use '&&').
There is no default text.
public final void toggle()
checked
.
protected void checkStateSet()
setChecked()
was called, unless it was called from within nextCheckState()
. It allows subclasses to reset their intermediate button states. nextCheckState()
.
protected boolean hitButton(QPoint pos)
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.
protected void nextCheckState()
setChecked
(!isChecked()
) if the button isCheckable()
. It allows subclasses to implement intermediate button states. checkStateSet()
.
public static QAbstractButton fromNativePointer(QNativePointer nativePointer)
public final void setShortcut(java.lang.String key)
key
- The description of the key sequence. Typically used with tr()
so key sequences can be locale aware.public final void setShortcut(QKeySequence.StandardKey key)
key
- The key for which to select a key sequence
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |