Описание класса QGraphicsWidgetКласс QGraphicsWidget это базовый класс для всех виджетов в QGraphicsScene. Далее... #include <QGraphicsWidget> Унаследован от: QGraphicsObject и QGraphicsLayoutItem. От него наследуются: QGraphicsProxyWidget и QGraphicsWebView. Этот класс был введён в Qt 4.4. Свойства
Открытые функции
Переопределённые открытые функции
Открытые слоты
Сигналы
Статические открытые члены
Защищенные функции
Переопределённые защищённые функции
Дополнительные унаследованные члены
Подробное описаниеКласс QGraphicsWidget это базовый класс для всех виджетов в QGraphicsScene. QGraphicsWidget это расширенный базовый класс, который предоставляет дополнительную функциональность по сравнению с QGraphicsItem. Во многих отношениях он похож на QWidget:
В отличае от QGraphicsItem, QGraphicsWidget не является абстрактным классом, вы можете создать экземпляр QGraphicsWidget без необходимости унаследоваться от него. Этот подход полезен для виджетов, которые служат только для упорядочивания дочерних виджетов в компоновке. QGraphicsWidget может быть использован в качестве базового элемента для вашего собственного элемента если вам нужен расширенное управление фокусом ввода, например, фокусом при обходе и активацией или компоновками. Так как QGraphicsWidget имеет сходство с QWidget и похожий API, то проще перевести виджет с QWidget на QGraphicsWidget, чем на QGraphicsItem. Замечание: виджеты, основанные на QWidget, могут быть непосредственно встроены в QGraphicsScene с помощью QGraphicsProxyWidget. Заметные различия между QGraphicsWidget и QWidget:
QGraphicsWidget поддерживает подмножество свойств виджета Qt (Qt::WidgetAttribute), как показано в таблице ниже. Любое свойство, не указанное в этой таблице, не поддерживается или не используется.
Хотя QGraphicsWidget наследуется и от QObject, и от QGraphicsItem, вы должны использовать функцию, предоставленную QGraphicsItem, а не QObject, чтобы управлять отношениями между родительскими и дочерними элементами. Эти функции контролируют порядок расположения элементов, а также их принадлежность. Замечание: QObject::parent() всегда должен возвращать 0 для QGraphicsWidgets, но это правило не является строгим. Смотрите также QGraphicsProxyWidget, QGraphicsItem и Виджеты и компоновки. Описание свойствautoFillBackground : boolДанное свойство указывает, заливается ли фон виджета автоматически. Если включена, то это свойство вынудит Qt залить фон видета перед вызовом метода paint(). Используемый цвет задаётся ролью цвета QPalette::Window из палитры palette виджета. Кроме того, Windows всегда заливает QPalette::Window, если не установлены атрибуты WA_OpaquePaintEvent или WA_NoSystemBackground. По умолчанию это свойство равно false. Это свойство было введено в Qt 4.7. Функции доступа:
Смотрите также Qt::WA_OpaquePaintEvent и Qt::WA_NoSystemBackground. focusPolicy : Qt::FocusPolicyЭто свойство определяет способ получения фокуса ввода с клавиатуры. Политика Qt::TabFocus используется если виджет принимает фокус клавиатуры при обходе, Qt::ClickFocus если виджет принимает фокус при клике на нём, Qt::StrongFocus если он принимает фокус обоими способами и Qt::NoFocus (по умолчанию) если он вообще не принимает фокус. Вы должны разрешить виджету принимать фокус от клавиатуры, если он принимает события от клавиатуры. Обычно это делается в конструкторе виджета. Например, конструктор QLineEdit вызывает setFocusPolicy(Qt::StrongFocus). Если вы разблокируете политику фокуса (т.е., не Qt::NoFocus), QGraphicsWidget автоматически установит флаг ItemIsFocusable. Установка для виджета Qt::NoFocus автоматически снимет флаг ItemIsFocusable. Если виджет в этот момент имеет фокус клавиатуры, он его автоматически потеряет. Функции доступа:
Смотрите также focusInEvent(), focusOutEvent(), keyPressEvent(), keyReleaseEvent() и enabled. font : QFontЭто свойство содержит шрифт виджета. Это свойство предоставляет шрифт виджета. QFont состоит из свойств, которые были явно определены, и свойств, которые были наследованы от родителя виджета. Таким образом, font() может вернуть другой шрифт по сравнению с установленным с помощью setFont(). Такая схема позволит вам определять отдельные свойства шрифта не влияя на другие унаследованные свойства. Когда меняется шрифт виджета, он определяет его свойства по сравнению с родительским виджетом. Если у виджета нет родителя, он определяет свойства шрифта по сравнению со сценой. Затем виджет посылает себе событие FontChange и оповещает всех потомков, чтобы они тоже могли определить свои шрифты. По умолчанию это свойство содержит шрифт приложения по умолчанию. Функции доступа:
Смотрите также QApplication::font(), QGraphicsScene::font и QFont::resolve(). geometry : QRectFЭто свойство содержит геометрию виджета. Устанавливает геометрию элемента равной rect. В результате вызова этой функции положение и размер элемента изменяются. Элемент сначала перемещается, а затем меняет размер. Побочный эффект вызова этой функции в том, что виджет получит события перемещения и изменения размера. Также, если у виджета есть назначенный компоновщик, то он будет активирован. Функции доступа:
Уведомляющий сигнал:
Смотрите также geometry() и resize(). layout : QGraphicsLayout *Данное свойство содержит компоновщик виджета. Любой существующий менеджер компоновки удаляется перед назначением нового. Если layout равен 0, то виджет остаётся без компоновщика. Существующая геометрия подвиджетов останется неизменной. QGraphicsWidget становится владельцем layout. Все виджеты, управляемые layout или его подкомпоновщиками, автоматически становятся дочерними для данного элемента. При этом компоновка становится негодной, и геометрия дочерних виджетов подстраивается в соответствии с геометрией geometry() и полями содержимого contentsMargins() этого элемента. Дочерние элементы, которые не управляются layout явно, останутся неизменными после того как компоновщик будет назначен этому виджету. Если нет компоновок, управляемых в настоящий момент виджетом, layout() возвратит 0. Функции доступа:
layoutDirection : Qt::LayoutDirectionЭто свойство содержит направление компоновки для этого виджета. Это свойство изменяет атрибут Qt::WA_RightToLeft виджета и всех его потомков. Оно также устанавливает свойство виджета Qt::WA_SetLayoutDirection. Направление компоновки виджета определяет порядок в котором менеджер компоновки горизонтально упорядочит подвиджеты данного виджета. Значение по умолчанию зависит от языка или локали приложения, и обычно такое же, как и направление писания и чтения слов. С Qt::LeftToRight, компоновщик начинает размещать подвиджеты с левой стороны данного виджета направо. тQt::RightToLeft работает противоположным способом - компоновщик разместит виджеы с правого края налево. Подвиджеты наследуют направление компоновки от родителя. Виджеты верхнего уровня наследуют свои направления компоновки от QGraphicsScene::layoutDirection. Если вы изменяете направление компоновки видета с помощью вызова setLayoutDirection(), виджет пошлёт себе событие LayoutDirectionChange, а затем сообщит новое направление компоновки всем своим потомкам. Функции доступа:
Смотрите также QWidget::layoutDirection и QApplication::layoutDirection. maximumSize : const QSizeFЭто свойство содержит максимальный размер виджета. Смотрите также setMaximumSize(), maximumSize(), minimumSize и preferredSize. minimumSize : const QSizeFЭто свойство содержит минимальный размер виджета. Смотрите также setMinimumSize(), minimumSize(), preferredSize и maximumSize. palette : QPaletteЭто свойство содержит палитру виджета. Это свойство предоставляет палитру виджета. Палитра предоставляет цвета и кисти для групп цветов ( например, QPalette::Button) и состояния (например, QPalette::Inactive), свободно определяя общий вид виджета и его потомков. QPalette состоит из явно определённых и унаследованных от родителя групп цветов. Поэтому palette() может вернуть другую палитру по сравнению с установленной с помощью setPalette(). Такая схема позволит вам определять отдельные свойства палитры не влияя на другие унаследованные свойства. Когда меняется палитра виджета, он определяет её свойства по сравнению с родительским виджетом. Затем виджет посылает себе событие PaletteChange и оповещает всех потомков, чтобы они тоже могли определить свои палитры. По умолчанию, это свойство содержит палитру приложения по умолчанию. Функции доступа:
Смотрите также QApplication::palette(), QGraphicsScene::palette и QPalette::resolve(). preferredSize : const QSizeFЭто свойство содержит предпочтительный размер виджета. Смотрите также setPreferredSize(), preferredSize(), minimumSize и maximumSize. size : QSizeFЭто свойство содержит размер виджета. Вызов resize() изменяет размер виджета на размер size, ограниченный minimumSize() и maximumSize(). Это свойство влияет только на высоту и ширину виджета (например, его правую и нижнюю границу); положение виджета и верхний левый угол остаются неизменными. При изменении своего размера виджет немедленно получает событие GraphicsSceneResize, содержащее старый и новый размеры. Если при прибытии этого события у виджета есть назначенная компоновка, то она будет активирована и автоматически обновит геометрию всех дочерних виджетов. Это свойство не влияет на компоновки родительских виджетов. Если сам виджет управляется компоновкой родителя, например, у него есть родительский виджет с назначенной компоновкой, то эта компоновка не активируется. По умолчанию, это свойство содержит размер с нулевой шириной и высотой. Функции доступа:
Уведомляющий сигнал:
Смотрите также setGeometry(), QGraphicsSceneResizeEvent и QGraphicsLayout. sizePolicy : const QSizePolicyЭто свойство содержит политику размера виджета. Смотрите также sizePolicy(), setSizePolicy() и QWidget::sizePolicy(). windowFlags : Qt::WindowFlagsЭто свойство содержит флаги окна виджета. Флаги окна это комбинация типов окна (например, Qt::Dialog) и некоторых флагов, дающих подсказки относительно поведения окна. Поведение является платформозависимым. По умолчанию, это свойство не содержит флаги окна. Окна это панели. Если вы установите флаг Qt::Window, то флаг ItemIsPanel будет установлен автоматически. Если вы уберёте флаг Qt::Window, то флаг ItemIsPanel будет также убран. Заметьте, что флаг ItemIsPanel может быть установлен независимо от Qt::Window. Функции доступа:
Смотрите также isWindow() и isPanel(). windowTitle : QStringЭто свойство содержит заголовок окна. Это свойство используется только для окон. По умолчанию, если заголовок не был установлен, это свойство содержит пустую строку. Функции доступа:
Описание функций-членовQGraphicsWidget::QGraphicsWidget ( QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0 )Создаёт объект QGraphicsWidget. Опциональный аргумент parent передаётся конструктору QGraphicsItem. Опциональный аргумент wFlags указывает флаги окна виджета (например, должен ли виджет быть окном, инструментом, всплывающим окном и т.д.). QGraphicsWidget::~QGraphicsWidget ()Уничтожает объект QGraphicsWidget. QList<QAction *> QGraphicsWidget::actions () constВозвращает (возможно пустой) список действий этого виджета. Эта функция была введена в Qt 4.5. Смотрите также insertAction(), removeAction(), QWidget::actions(), QAction::associatedWidgets() и QAction::associatedGraphicsWidgets(). void QGraphicsWidget::addAction ( QAction * action )Добавляет действие action в список действий этого виджета. Все QGraphicsWidgets имеют список QAction, тем не менее, они могут быть представлены графически множеством разных способов. Обычное использование списка QAction (возвращаемого actions()) это создать контекстное меню QMenu. QGraphicsWidget должен иметь только один экземпляр каждого действия и добавление действия, которое уже у него есть, не приведёт к тому, что это действие будет у виджета два раза. Эта функция была введена в Qt 4.5. Смотрите также removeAction(), insertAction(), actions() и QWidget::addAction(). void QGraphicsWidget::addActions ( QList<QAction *> actions )Добавляет действия actions в список действий этого виджета. Эта функция была введена в Qt 4.5. Смотрите также removeAction(), QMenu, addAction() и QWidget::addActions(). void QGraphicsWidget::adjustSize ()Приводит размер виджета к подсказке о эффективном предпочтительном размере. Это функция вызывается явно когда элемент показывается первый раз. Смотрите также effectiveSizeHint() и Qt::MinimumSize. QRectF QGraphicsWidget::boundingRect () const [virtual]Переопределено из QGraphicsItem::boundingRect(). void QGraphicsWidget::changeEvent ( QEvent * event ) [virtual protected]Этот обработчик событий может быть переопределён чтобы обрабатывать изменения состояния. Изменённое состояние в этом событии может быть получено с помощью event. События изменения включают: QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::ParentChange, QEvent::LayoutDirectionChange и QEvent::ContentsRectChange. bool QGraphicsWidget::close () [slot]Вызов этой функции закрывает виджет. Возвращает true, если виджет был закрыт, в противном случае возвращает false. Сначала этот слот посылает виджету событие QCloseEvent, который может это событие принять или нет. Если событие было проигнорировано, ничего не происходит. Если событие было принято, слот вызовет функцию виджета hide(). Если у виджета установлен атрибут Qt::WA_DeleteOnClose, он будет удалён. void QGraphicsWidget::closeEvent ( QCloseEvent * event ) [virtual protected]Этот обработчик события event может быть переопределён в производном классе, чтобы получать события закрытия виджета. Реализация по умолчанию принимает событие. Смотрите также close() и QCloseEvent. bool QGraphicsWidget::event ( QEvent * event ) [virtual protected]Переопределено от QObject::event(). Обрабатывает event. QGraphicsWidget обрабатывает следующие события:
void QGraphicsWidget::focusInEvent ( QFocusEvent * event ) [virtual protected]Переопределено из QGraphicsItem::focusInEvent(). bool QGraphicsWidget::focusNextPrevChild ( bool next ) [virtual protected]Ищет новый виджет для передачи фокуса клавиатуры, который подходит для Tab и Shift+Tab, и возвращает true если он может найти новый виджет; в противном случае возвращает false. Если next равно true, эта функция ищет вперёд; если next равно false, она ищет в обратном направлении. Иногда вы захотите переопределить эту функцию чтобы предоставить особенную обработку фокуса для вашего виджета и его подвиджетов. Например, веб-браузер может переопределить её чтобы перемещать активную в настоящий момент ссылку вперед и назад и вызывать базовую реализацию только когда он доходит до первой или последней ссылки на странице. Дочерние виджеты вызывают focusNextPrevChild() своих родителей, но только окно, содержащее дочерние виджеты, решает куда перенаправить фокус. Переопределением у объекта этой функции вы получаете контроль над перемещением фокуса всех дочерних виджетов. Смотрите также focusPolicy(). void QGraphicsWidget::focusOutEvent ( QFocusEvent * event ) [virtual protected]Переопределено из QGraphicsItem::focusOutEvent(). QGraphicsWidget * QGraphicsWidget::focusWidget () constЕсли этот виджет, дочерний виджет или его потомок имеет фокус ввода, эта функция вернёт указатель на этот виджет. Если потомки не имеют фокуса ввода, возвращается 0. Смотрите также QGraphicsItem::focusItem() и QWidget::focusWidget(). void QGraphicsWidget::geometryChanged () [signal]Этот сигнал отправляется когда в setGeometry() изменяется геометрия. void QGraphicsWidget::getContentsMargins ( qreal * left, qreal * top, qreal * right, qreal * bottom ) const [virtual]Переопределено из QGraphicsLayoutItem::getContentsMargins(). Получает отступы содержимого виджета. Отступы хранятся в left, top, right и bottom в виде указателей на qreal. Каждый аргумент может быть опущен передачей 0 в качестве значения. Смотрите также setContentsMargins(). void QGraphicsWidget::getWindowFrameMargins ( qreal * left, qreal * top, qreal * right, qreal * bottom ) constПолучает отступы область окна виджета. Отступы хранятся в left, top, right и bottom в виде указателей на qreal. Каждый аргумент может быть опущен передачей 0 в качестве значения. Смотрите также setWindowFrameMargins() и windowFrameRect(). void QGraphicsWidget::grabKeyboardEvent ( QEvent * event ) [virtual protected]Этот обработчик события для события event может быть переопределён в подклассе, чтобы получать уведомления о событиях QEvent::GrabKeyboard. Смотрите также grabKeyboard() и grabMouse(). void QGraphicsWidget::grabMouseEvent ( QEvent * event ) [virtual protected]Этот обработчик события для события event может быть переопределён в подклассе, чтобы получать уведомления о событиях QEvent::GrabMouse. Смотрите также grabMouse() и grabKeyboard(). int QGraphicsWidget::grabShortcut ( const QKeySequence & sequence, Qt::ShortcutContext context = Qt::WindowShortcut )Добавляет комбинацию горячих клавиш в систему комбинаций горячих клавиш Qt для наблюдения за заданной последовательностью sequence клавиш в заданном контексте context. Если context это Qt::ApplicationShortcut, то комбинация горячих клавиш применяется ко всему приложению. В противном случае, она либо локальна для этого виджета, Qt::WidgetShortcut, либо для самого окна, Qt::WindowShortcut. Для виджетов, которые не являются частью окна (т.е., виджеты верхнего уровня и их потомки), Qt::WindowShortcut применяется ко всей сцене. Если такая последовательность клавиш sequence была захвачена несколькими виджетами, то когда случается последовательность клавиш sequence, событие QEvent::Shortcut посылается всем виджетам, к которым оно применимо, в неопределённом порядке, но флаг ``ambiguous'' установлен равным true. Предупреждение: Обычно вы не должны использовать эту функцию; вместо этого создайте QAction с последовательностью горячих клавиш которая вам нужна (если вы также хотите эквивалентный пункт меню и панель инструментов), или создайте QShortcut если вам нужна только последовательность клавиш. Оба QAction и QShortcut обрабатывают все отфильтрованные для вас события и предоставляют сигналы, которые срабатывают когда пользователь вводит последовательность клавиш, что намного проще чем эта низкоуровневая функция. Эта функция была введена в Qt 4.5. Смотрите также releaseShortcut(), setShortcutEnabled() и QWidget::grabShortcut(). void QGraphicsWidget::hideEvent ( QHideEvent * event ) [virtual protected]Этот обработчик событий для событий Hide вызывается после того как виджет прячется, например, для виджета или одного из его предков вызывается setVisible(false) в случае когда виджет был ранее показан. Вы можете переопределить этот обработчик событий чтобы определять когда ваш виджет прячется. Вызов QEvent::accept() или QEvent::ignore() для события event не имеет эффекта. Смотрите также showEvent(), QWidget::hideEvent() и ItemVisibleChange. void QGraphicsWidget::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ) [virtual protected]Переопределено из QGraphicsItem::hoverLeaveEvent(). void QGraphicsWidget::hoverMoveEvent ( QGraphicsSceneHoverEvent * event ) [virtual protected]Переопределено из QGraphicsItem::hoverMoveEvent(). void QGraphicsWidget::initStyleOption ( QStyleOption * option ) const [virtual protected]Заполняет объект параметров стиля для данного виджета основываясь на его текущем состоянии и сохраняет вывод в option. Реализация по умолчанию заполняет option следующими свойствами.
Подклассы QGraphicsWidget должны вызывать базовую реализацию, а затеем проверять тип option используя qstyleoption_cast<>() или проверять QStyleOption::Type перед сохранением характерных для виджета параметров. Например: void MyGroupBoxWidget::initStyleOption(QStyleOption *option) const { QGraphicsWidget::initStyleOption(option); if (QStyleOptionGroupBox *box = qstyleoption_cast<QStyleOptionGroupBox *>(option)) { // Добавляем состояние, специфичное для блока. box->flat = isFlat(); ... } } Смотрите также QStyleOption::initFrom(). void QGraphicsWidget::insertAction ( QAction * before, QAction * action )Вставляет действие action в список действий этого виджета перед действием before. Эта функция добавит действие если before равно 0 или before не действительное действие для этого виджета. QGraphicsWidget должен иметь только один экземпляр каждого действия. Эта функция была введена в Qt 4.5. Смотрите также removeAction(), addAction(), QMenu, actions() и QWidget::insertActions(). void QGraphicsWidget::insertActions ( QAction * before, QList<QAction *> actions )Вставляет действия actions в список действий этого виджета перед действием before. Эта функция добавит действие если before равно 0 или before не действительное действие для этого виджета. QGraphicsWidget может иметь не более одного экземпляра каждого действия. Эта функция была введена в Qt 4.5. Смотрите также removeAction(), QMenu, insertAction() и QWidget::insertActions(). bool QGraphicsWidget::isActiveWindow () constВозвращает true если окно виджета это активное окно или если у виджета нет окна, но он находится на активной сцене (т.е. сцене, у которой в настоящий момент есть фокус). Активное окно это окно, которое или содержит дочерний виджет у которого есть фокус ввода, или само имеет фокус ввода. Смотрите также QGraphicsScene::activeWindow(), QGraphicsScene::setActiveWindow() и isActive(). QVariant QGraphicsWidget::itemChange ( GraphicsItemChange change, const QVariant & value ) [virtual protected]Переопределено из QGraphicsItem::itemChange(). QGraphicsWidget использует базовую реализацию этой функции чтобы ловить и доставлять события, связанные с изменениями состояния элемента. Поэтому очень важно чтобы подклассы вызывали базовую реализацию. change указывает тип изменения и value это новое значение. Например, QGraphicsWidget использует ItemVisibleChange для доставки событий Show и Hide, ItemPositionHasChanged для доставки событий Move и ItemParentChange как для доставки событий ParentChange и управления цепью фокуса. QGraphicsWidget по умолчанию включает флаг ItemSendsGeometryChanges чтобы отслеживать изменения положения. Смотрите также QGraphicsItem::itemChange(). void QGraphicsWidget::moveEvent ( QGraphicsSceneMoveEvent * event ) [virtual protected]Этот обработчик событий для событий GraphicsSceneMove вызывается после того как виджет был перемещён (например, его локальное положение изменилось). Это событие доставляется только когда элемент перемещается локально. Вызов setTransform() или перемещение любого предка элемента не влияет на локальное положение элемента. Вы можете переопределить этот обработчик событий чтобы определять когда ваш был перемещён. Вызов QEvent::accept() или QEvent::ignore() для события event не имеет эффекта. Смотрите также ItemPositionChange и ItemPositionHasChanged. void QGraphicsWidget::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) [virtual]Переопределено из QGraphicsItem::paint(). void QGraphicsWidget::paintWindowFrame ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) [virtual]Эта виртуальная функция вызывается QGraphicsScene чтобы отрисовать границу окна используя painter, option и widget в локальных координатах. Базовая реализация использует текущий стиль чтобы отобразить границу окна и заголовок. Вы можете переопределить эту функцию в подклассе от QGraphicsWidget чтобы предоставить собственное отображение границы окна виджета. Смотрите также QGraphicsItem::paint(). void QGraphicsWidget::polishEvent () [virtual protected]Это событие доставляется элементу сценой в определённый момент после того как он был создан, но перед тем как он был показан или, в противном случае, к нему обратились через сцену. Вы можете использовать этот обработчик событий чтобы сделать последние инициализации виджета, которые требуют чтобы он был полностью сконструирован. Базовая реализация ничего не делает. QRectF QGraphicsWidget::rect () constВозвращает локальный прямоугольник элемента в виде QRectF. Эта функция эквивалентна QRectF(QPointF(), size()). Смотрите также setGeometry() и resize(). void QGraphicsWidget::releaseShortcut ( int id )Удаляет горячую комбинацию клавиш с указанным id из системы горячих клавиш Qt. Виджет больше не будет получать события QEvent::Shortcut для последовательности событий этой комбинации (если только нет другой комбинации горячих клавиш с такой последовательностью). Предупреждение: Обычно вам не нужно использовать эту функцию, так как система горячих клавиш Qt удаляет комбинацию горячих клавиш автоматически при уничтожении их родительского виджета. Для обработки комбинаций горячих клавиш лучше использовать QAction или QShortcut, так как они проще в использовании чем низкоуровневая функция. Также заметьте, что это затратная операция. Эта функция была введена в Qt 4.5. Смотрите также grabShortcut(), setShortcutEnabled() и QWidget::releaseShortcut(). void QGraphicsWidget::removeAction ( QAction * action )Удаляет действие action из списка действий этого виджета. Эта функция была введена в Qt 4.5. Смотрите также insertAction(), actions(), insertAction() и QWidget::removeAction(). void QGraphicsWidget::resizeEvent ( QGraphicsSceneResizeEvent * event ) [virtual protected]Этот обработчик событий для событий GraphicsSceneResize вызывается после того как размер виджета был изменён (т.е., его локальный размер изменился). event содержит и старый, и новый размеры. Это событие доставляется только когда элемент изменят размер локально; вызов setTransform() для виджета или любого его предка элемента или вида не влияет на локальный размер виджета. Вы можете переопределить этот обработчик событий чтобы определять когда размер вашего виджета был изменён. Вызов QEvent::accept() или QEvent::ignore() для события event не имеет эффекта. Смотрите также geometry() и setGeometry(). bool QGraphicsWidget::sceneEvent ( QEvent * event ) [virtual protected]Переопределено из QGraphicsItem::sceneEvent(). Реализация sceneEvent() QGraphicsWidget просто передаёт event в QGraphicsWidget::event(). Вы можете обработать все события для вашего виджета в event() или в любой вспомогательной функции; вы не должны переопределять эту функцию в подклассе от QGraphicsWidget. Смотрите также QGraphicsItem::sceneEvent(). void QGraphicsWidget::setAttribute ( Qt::WidgetAttribute attribute, bool on = true )Если on равно true, эта функция разблокирует атрибут attribute; в противном случае атрибут attribute блокируется. Смотрите документацию класса QGraphicsWidget для получения полного списка поддерживаемых атрибутов и для чего они нужны. Смотрите также testAttribute() и QWidget::setAttribute(). void QGraphicsWidget::setContentsMargins ( qreal left, qreal top, qreal right, qreal bottom )Устанавливает поля содержимого виджета равными left, top, right и bottom. Поля содержимого используются назначенным компоновщиком для определения размещения подвиджетов и компоновок. Поля особенно полезны для виджетов, ограничивающих подвиджеты в одной области своей геометрии. Например, группирующий блок с компоновкой расположит подвиджеты внутри своей рамки, но ниже заголовка. Изменение полей содержимого виджета всегда вызовет update(), и любой назначенный компоновщик будет автоматически активирован. Затем виджет получит событиеContentsRectChange. Смотрите также getContentsMargins() и setGeometry(). void QGraphicsWidget::setShortcutAutoRepeat ( int id, bool enabled = true )Если enabled равно true, автоповторение комбинации горячих клавиш с заданнымid будет включено; в противном случае оно будет отключено. Эта функция была введена в Qt 4.5. Смотрите также grabShortcut(), releaseShortcut() и QWidget::setShortcutAutoRepeat(). void QGraphicsWidget::setShortcutEnabled ( int id, bool enabled = true )Если enabled равно true, комбинация горячих клавиш с заданнымid будет включена; в противном случае она будет отключена. Предупреждение: Обычно вам не нужно использовать эту функцию, так как система горячих клавиш Qt включает/отключает комбинацию горячих клавиш автоматически при скрытии/отображении виджета и потери и получения фокуса. Для обработки комбинаций горячих клавиш лучше использовать QAction или QShortcut, так как они проще в использовании чем низкоуровневая функция. Эта функция была введена в Qt 4.5. Смотрите также grabShortcut(), releaseShortcut() и QWidget::setShortcutEnabled(). void QGraphicsWidget::setStyle ( QStyle * style )Устанавливает стиль виджета равным style. QGraphicsWidget не становится владельцем style. Если стиль не назначен или style равен 0, то виджет будет использовать QGraphicsScene::style() (если он был установлен). В противном случае виджет будет использовать QApplication::style(). Эта функция устанавливает свойство Qt::WA_SetStyle еслиstyle не равен 0; в противном случает, она убирает свойство. Смотрите также style(). void QGraphicsWidget::setTabOrder ( QGraphicsWidget * first, QGraphicsWidget * second ) [static]Перемещает виджет second по кольцу фокуса виджетов таким образом, чтобы при нажатии кнопки Tab фокус клавиатуры переходил от виджета first к виджету second. Заметьте, что так как порядок обхода виджета second изменился, то вы должны упорядочить цепь следующим образом: setTabOrder(a, b); // a на b setTabOrder(b, c); // a на b на c setTabOrder(c, d); // a на b на c на d Но не так: // НЕПРАВИЛЬНО setTabOrder(c, d); // c на d setTabOrder(a, b); // a на b И c на d setTabOrder(b, c); // a на b на c, но не c на d Если first равен 0, то это означает что second должен быть первым виджетом, который получит фокус ввода когда он появится у сцены (т.е., пользователь нажмёт Tab так, что фокус перейдёт к сцене). Если second равен 0, то это значит что first должен быть первым виджетом, который получит фокус если фокус вернётся к сцене. По умолчанию порядок обхода определяется неявно используя порядок создания виджетов. Смотрите также focusPolicy и Фокус ввода с клавиатуры. void QGraphicsWidget::setWindowFrameMargins ( qreal left, qreal top, qreal right, qreal bottom )Устанавливает поля рамки окна виджета равными left, top, right и bottom. Поля рамки по умолчанию предоставляются стилем и они зависят от текущих флагов окна. Если вы хотите отрисовывать собственную декорацию окна, вы можете установить собственные поля рамки чтобы переопределить поля по умолчанию. Смотрите также unsetWindowFrameMargins(), getWindowFrameMargins() и windowFrameRect(). QPainterPath QGraphicsWidget::shape () const [virtual]Переопределено из QGraphicsItem::shape(). void QGraphicsWidget::showEvent ( QShowEvent * event ) [virtual protected]Этот обработчик событий для событий Show вызывается до того как виджет прячется, например, для виджета или одного из его предков вызывается setVisible(true) в случае когда виджет был ранее показан. Вы можете переопределить этот обработчик событий чтобы определять когда ваш виджет отображается. Вызов QEvent::accept() или QEvent::ignore() для события event не имеет эффекта. Смотрите также hideEvent(), QWidget::showEvent() и ItemVisibleChange. QSizeF QGraphicsWidget::sizeHint ( Qt::SizeHint which, const QSizeF & constraint = QSizeF() ) const [virtual protected]Переопределено из QGraphicsLayoutItem::sizeHint(). QStyle * QGraphicsWidget::style () constВозвращает указатель на стиль виджета. Если у этого виджета нет явно назначенного стиля, то вместо него возвращается стиль сцены. В свою очередь, если у сцены нет назначенного стиля, эта функция вернёт QApplication::style(). Смотрите также setStyle(). bool QGraphicsWidget::testAttribute ( Qt::WidgetAttribute attribute ) constВозвращает true если свойство attribute разблокировано для этого виджета; в противном случае возвращает false. Смотрите также setAttribute(). int QGraphicsWidget::type () const [virtual]Переопределено из QGraphicsItem::type(). void QGraphicsWidget::ungrabKeyboardEvent ( QEvent * event ) [virtual protected]Этот обработчик события для события event может быть переопределён в подклассе, чтобы получать уведомления о событиях QEvent::UngrabKeyboard. Смотрите также ungrabKeyboard() и ungrabMouse(). void QGraphicsWidget::ungrabMouseEvent ( QEvent * event ) [virtual protected]Этот обработчик события для события event может быть переопределён в подклассе, чтобы получать уведомления о событиях QEvent::UngrabMouse. Смотрите также ungrabMouse() и ungrabKeyboard(). void QGraphicsWidget::unsetWindowFrameMargins ()Сбрасывает поля рамки окна на значение по умолчанию, который предоставляется стилем. Смотрите также setWindowFrameMargins(), getWindowFrameMargins() и windowFrameRect(). void QGraphicsWidget::updateGeometry () [virtual protected]Переопределено из QGraphicsLayoutItem::updateGeometry(). Если этот виджет управляется компоновщиком, эта функция сообщает ему что подсказки о размере виджета изменились и что он может изменить размер и положение виджета соответственно. Вызывайте эту функцию если подсказки о размере виджета sizeHint() изменились. Смотрите также QGraphicsLayout::invalidate(). bool QGraphicsWidget::windowFrameEvent ( QEvent * event ) [virtual protected]Этот обработчик события event получает события для рамки окна если этот виджет является окном. Его базовая реализация предоставляет поддержку для базового взаимодействия с рамкой окна такого как перемещения, изменение размера и т.д. Вы можете переопределить этот обработчик в подклассе от QGraphicsWidget чтобы предоставить собственную поддержку взаимодействия с рамкой окна. Возвращает true если событие event было распознано и обработано; в противном случае возвращает false. Смотрите также event(). QRectF QGraphicsWidget::windowFrameGeometry () constВозвращает геометрию виджета в координатах родителя включая любую рамку окна. Смотрите также windowFrameRect(), getWindowFrameMargins() и setWindowFrameMargins(). QRectF QGraphicsWidget::windowFrameRect () constВозвращает локальный прямоугольник виджета включая любую рамку окна. Смотрите также windowFrameGeometry(), getWindowFrameMargins() и setWindowFrameMargins(). Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt ( const QPointF & pos ) const [virtual protected]Возвращает часть рамки окна в точке pos, или Qt::NoSection если в этой точке нет рамки окна. Эта функция используется в базовой реализации взаимодействия с рамкой QGraphicsWidget. Вы можете переопределить эту функцию чтобы настроить способ взаимодействия с окном для изменения его размера или положения. Например, если вы хотите позволить виджету изменение размера только за правый нижний угол, вы можете переопределить эту функцию чтобы она возвращала Qt::NoSection для всех частей кроме Qt::BottomRightSection. Эта функция была введена в Qt 4.4. Смотрите также windowFrameEvent(), paintWindowFrame() и windowFrameGeometry(). Qt::WindowType QGraphicsWidget::windowType () constВозвращает тип окна виджета. Смотрите также windowFlags(), isWindow() и isPanel(). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |