Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |
Класс QAbstractButton - это абстрактный базовый класс для виджетов-кнопок предоставляющий функциональные возможности обычные для кнопок. Далее...
#include <QAbstractButton>
Наследует QWidget.
Наследуется Q3Button, QCheckBox, QPushButton, QRadioButton и QToolButton.
|
Класс QAbstractButton - это абстрактный базовый класс для виджетов-кнопок предоставляющий функциональные возможности обычные для кнопок.
Данный класс реализует абстрактную кнопку. Его подклассы обрабатывают действия пользователя и определяют, как кнопка будет отображаться.
QAbstractButton предоставляет поддержку для командных кнопок и для контрольных. Контрольные кнопки реализуются в классах QRadioButton и QCheckBox. Командные кнопки реализуются в классах QPushButton и QToolButton; которые также реализуют поведение контрольных кнопок, если требуется.
Кнопка предоставляет изображение содержащее текст и картинку. setText() устанавливает текст; setIcon() устанавливает картинку. Если кнопка недоступна, ее изображение будет изменено чтобы показать, что кнопка "недоступна".
Если кнопка является текстовой кнопкой содержащей амперсанд (&), QAbstractButton автоматически создает горячее сочетание клавиш, называемой мнемонической, которая может изменяться в зависимости от перевода текста кнопки. Следующий пример кода создает текстовую кнопку обозначенную как "Rock & Roll" (где c подчеркнуто):
QPushButton *button = new QPushButton(tr("Ro&ck && Roll"), this);
В данном примере сочетание клавиш Alt+C ассоциировано с созданной кнопкой, так что, когда мы нажмем Alt+C, у кнопки будет вызвана animateClick().
Вы также можете установить собственное горячее сочетание клавиш с помощью функцииsetShortcut(). Это полезно, главным образом, для кнопок не содержащих текст так как для них автоматически не создается горячее сочетание клавиш.
button->setPixmap(QPixmap(":/images/print.png")); button->setShortcut(tr("Alt+F7"));
Все кнопки предоставляемые Qt (QPushButton, QToolButton, QCheckBox и QRadioButton) могут отображать как текст, так и картинку.
Кнопка может быть сделана кнопкой диалога по умолчанию с помощью QPushButton::setDefault() и QPushButton::setAutoDefault().
QAbstractButton представляет несколько состояний используемых кнопками:
isDown() и isChecked() различается следующим образом. Когда пользователь щелкает по контрольной кнопке чтобы устанавить ее, кнопка сперва нажата, а замем отпущена в установленном состоянии. Когда пользователь нажимает кнопку снова (для отмены установки), то кнопка сперва переходит в нажатое состояние, а потом в неустановленное состояние (isChecked() и isDown() возвращают false).
QAbstractButton предоставляет пять сигналов:
В подклассе QAbstractButton Вы должны, по меньшей мере, повторно реализовать paintEvent() для правильного отображения контура, текста или изображения кнопки. Вообще желательно также повторно реализовать sizeHint() и иногда hitButton() (для определения, находится-ли указатель мыши в пределах кнопки во время нажания кнопки мыши). Для кнопок, имеющих более двух состояний (подобных кнопкам с тремя состояниями), Вы также должны повторно реализовать checkStateSet() и nextCheckState().
См. также QButtonGroup.
Данное свойство указывает, является-ли поведение кнопки автоэксклюзивным.
Если автоэксклюзивное поведение доступно, то контрольные кнопки, являющиеся дочерними для одного родительского виджета, будут вести себя так, как будто они входят в одну эксклюзивную группу кнопок. В эксклюзивной группе кнопок в один момент времени только одна кнопка может иметь установленное состоияние; все другие контрольные кнопки автоматически становятся неустановленными при установке одной контрольной кнопки.
Данное свойство не влияет на поведение кнопок принадлежащих группе кнопок.
По умолчанию autoExclusive отключено за исключением радио-кнопок.
Функции доступа:
См. также QRadioButton.
Данное свойство указывает, доступно-ли автоповторение.
Если автоповторение доступно, то сигнал clicked() испускается через равные промежутки времени пока кнопка нажата. Данное свойство влияет на поведение только коммандных кнопок. По умолчанию autoRepeat отключено.
Функции доступа:
Данное свойство указывает, является-ли кнопка контрольной.
По умолчанию кнопка не является контрольной.
Функции доступа:
См. также checked.
Данное свойство указывает, является-ли кнопка установленной.
Только контрольные кнопки могут быть установленными. По умолчанию кнопка неустановлена.
Функции доступа:
См. также checkable.
Данное свойство указывает, является-ли кнопка нажатой.
Если данное свойство равно true, то кнопка является нажатой. Сигналы pressed() и clicked() не испускаются, если вы устанавливаете данное свойство в true. По умолчанию равно false.
Функции доступа:
Данное свойство содержит иконку отображаемую на кнопке.
По умолчанию размеры иконки определяются в зависимости от стиля GUI, но они могут быть изменены с помощью свойства iconSize.
Функции доступа:
Данное свойство содержит размеры иконки используемой данной кнопкой.
По умолчанию размеры иконки определяются в зависимости от стиля GUI.
Функции доступа:
Данное свойство содержит мнемоническую ассоциацию кнопки.
Функции доступа:
Данное свойство содержит текст отображаемый на кнопке.
Если кнопка не имеет текста, то данное свойство возвращает пустую строку. Если текст содержит символ амперсанда (&), то для кнопки автоматически создаетс мнемоническая ассоциация. Символ следующий за '&' будет использован для создания горячего сочетания клавиш. Ранее созданная мнемоническая ассоциация будет перенастроена или очищена если мнемоническая ассициация не определяестя в текст.
Свойство не имеет значения по умолчанию.
Функции доступа:
Создает абстрактную кнопку с родителем parent.
Разрушает кнопку.
Анимирует нажатие кнопки: кнопка сперва нажимается, а спустя msec миллисекунд отпускается (по умолчанию через 100 мс).
Все сигналы связанные с нажатием и отпусканием кнопки испускаются в соответствующие моменты времени.
Данная функция ничего не делает если кнопка недоступна.
См. также click().
Данный обработчик сообщений вызывается при вызове setChecked(), за исключением случаев, когда setChecked() вызывается из nextCheckState(). Обработчик позволяет подклассам устанавливать промежуточные состояния кнопки.
См. также nextCheckState().
Имитирует щелчок по кнопке.
Все сигналы ассоциированные со щелчком по кнопке испускаются в соответствующем порядке. Если кнопка контрольная, то ее состояние меняется.
Данная функция ничего не делает если кнопка недоступна.
См. также animateClick().
Данный сигнал испускается при активизации кнопки (т.е. когда нажатая кнопка отпускается при находении указателя мыши внутри кнопки), при нажатии горячего сочетания клавиш или при вызове click() либо animateClick(). Обратите внимание: данный сигнал не испускается при вызове setDown(), setChecked() или toggle().
У контрольной кнопки свойство checked равно true если кнопка выбрана, или false если кнопка не выбрана.
См. также pressed(), released() и toggled().
Возвращает группу, к которой принадлежит кнопка.
Если кнопка не является членом QButtonGroup, то данная функция возвращает 0.
См. также QButtonGroup.
Возвращает true если точка pos находится внутри активного прямоугольника кнопка; в противном случает возвращает false.
По умолчанию, активная область - это весь виджет. Подклассы могут повторно реализовать данную функцию для предоставления поддержки активной области другой формы и размеров.
Данный виртуальный обработчик сообщений вызывается при нажатии кнопки. Реализация по умолчанию вызывает setChecked(!isChecked()) если кнопка isCheckable(). Данный обработчик позволяет подклассам устанавливать промежуточные состояния кнопки.
См. также checkStateSet().
Данный сигнал испускается при нажатии кнопки вниз.
См. также released() и clicked().
Данный сигнал испускается при отпускании кнопки.
См. также pressed(), clicked() и toggled().
Меняет состояние контрольной кнопки.
См. также checked.
Данный сигнал испускается всякий раз, когда меняется состояние контрольной кнопки. checked равно true, если кнопка установлена, или false, если кнопка не установлена.
Это может произойти в результате действий пользователя, активизиции слота click() или вызова setChecked().
См. также checked и clicked().
Copyright © 2005 Trolltech | Trademarks | Qt 4.1.0 |