QWidget - базовый виджет для всех интерфейсных объектов¶
Также можно назначить клавиши быстрого доступа с помощью классов :py:class::QShortcut или :py:class::QAction
- class
QWidget
([parent=None][, flags=Qt.Widget])¶ Виджет, пустая прямоуголная область.
Базовый объект для всех интерфесных объектов.
Наследник
QtCore.QObject
,QtGui.QPaintDevice
.Если виджет не имеет родителя (parent), то виджет отображается как окно, иначе оно распологается на родительском виджете.
Если в параметре flags указан тип окна, то компонент, имея родителя, будет обладать свои собственным окном, но привязан к родительскому окну.
Флаги виджета из класса
QtCore.Qt
Widget - тип по умолчанию для класса QWidget
Window - указывает, что компонент является окном, независимо от того, имеет он родителя или нет.
Окно выводится с рамкой и заголовком, в котором расположены кнопки Свернуть, Развернуть и Закрыть.
По умолчанию размеры окна можно изменять с помощью мыши
Dialog - диалоговое окно.
Окно выводится с рамкой и заголовком, в котором расположены кнопки Справка и Закрыть.
Размеры окна можно изменять с помощью мыши.
Sheet
Drawer
Popup - указывает, что окно является всплывающим меню.
Окно выводится без рамки и заголовка.
Кроме того, окно может отбрасывать тень.
Изменить размеры окна с помощью мыши нельзя
Tооl - сообщает, что окно является панелью инструментов.
Окно выводится с рамкой и заголовком (меньшем по высоте, чем обычное окно), в котором расположена кнопка Закрыть.
Размеры окна можно изменять с помощью мыши
ToolTip - указывает, что окно является всплывающей подсказкой.
Окно выводится без рамки и заголовка.
Изменить размеры окна с помощью мыши нельзя
SplashScreen - сообщает, что окно является заставкой.
Окно выводится без рамки и заголовка.
Изменить размеры окна с помощью мыши нельзя.
Значение по умолчанию для класса
QSplashScreen
Desktop - указывает, что окно является рабочим столом.
Окно вообще не отображается на экране
SubWindow - сообщает, что окно является дочерним компонентом, независимо от того, имеет он родителя или нет.
Окно выводится с рамкой и заголовком (меньшем по высоте, чем обычное окно) без кнопок.
Изменить размеры окна с помощью мыши нельзя.
Для окон верхнего уровня можно дополнительно указать следующие атрибуты из класса
QtCore.Qt
через оператор |:MSWindowsFixedSizeDialogHint - запрещает изменение размеров окна.
Изменить размеры с помощью мыши нельзя
Кнопка Развернуть в заголовке окна становится неактивной
FramelessWindowHint - убирает рамку и заголовок окна.
Изменять размеры окна и перемещать его нельзя
CustomizeWindowHint - убирает рамку и заголовок окна, но добавляет эффект объемности. Размеры окна можно изменять с помощью мыши
WindowТitleНint - добавляет заголовок окна.
Например: выведем окно фиксированного размера с заголовком, в котором находится только текст:
window.setWindowFlags( QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint | 9tCore.Qt.WindowTitleHint)
WindowSystemМenuНint - добавляет оконное меню и кнопку Закрыть
WindowМinimizeButtonHint - кнопка Свернуть в заголовке окна делается активной, а кнопка Развернуть - неактивной
WindowМaximizeButtonHint - кнопка Развернуть в заголовке окна делается активной, а кнопка Свернуть неактивной
WinctowMinМaxButtonsHint - кнопки Свернуть и Развернуть в заголовке окна делаются активными
WindowCloseButtonHint - добавляет кноnку Закрыть
WindowContextHelpButtonHint - добавляет кнопку Справка.
Кнопки Свернуть и Развернуть в заголовке окна не отображаются
WindowStaysOnTopHint - сообщает системе, что окно всегда должно отображаться nоверх всех других окон
WindowstaysonвottomНint - сообщает системе, что окно всегда должно расположено позади всех других окон.
-
adjustSize
()¶ Подгоняет размеры компонента под содержимое.
При этом учитываются рекмендованные размеры, возвращаемые методом
sizeHint()
-
baseSize
()¶ Возвращает
QtCore.QSize
, базовые размеры компонента
-
center
()¶ Центрирует виджет относительно родителя
widget.center()
-
close
()¶ Закрывает окно
widget.close()
-
closeEvent
()¶ Обработчик закрытия окна виджета
-
connect
(widget, signal, callback)¶ Связывает слот виджета с обработчиком
widget.connect(btn, QtCore.SIGNAL('clicked()'), some_function) widget.connect(btn, QtCore.SIGNAL('clicked()'), QtCore.SLOT('close()'))
-
frameGeometry
()¶ Возвращает
QtCore.QRect
, содержащий координаты окна, включая высоту заголовка и ширину границ
-
frameSize
()¶ Возвращает
QtCore.QSize
, размеры окна, включая высоту заголовка и ширину границ
-
geometry
()¶ Возвращает
QtCore.QRect
, содержащий координаты относительно родительского объектаrect = widget.geometry()
-
height
()¶ Возвращает число, высоту компонента
-
hide
()¶ Скрывает окно
-
isEnabled
()¶ Возвращает истину/ложь, доступность объекта
-
isHidden
()¶ Возвращает истину/ложь, скрытость виджета
-
isVisible
()¶ Возвращает истину/ложь, видимость виджета
-
maximumHeight
()¶ Возвращает число, максимальную высоту компонента
-
maximumWidth
()¶ Возвращает число, максимальную ширину компонента
-
maximumSize
()¶ Возвращает
QtCore.QSize
, максимальные размеры компонента
-
minimumHeight
()¶ Возвращает число, минимальную высоту компонента
-
minimumWidth
()¶ Возвращает число, минимальную ширину компонента
-
minimumSize
()¶ Возвращает
QtCore.QSize
, минимальные размеры компонента
-
minimumSizeHint
()¶ Возвращает
QtCore.QSize
, рекомендуемый минимальный размер компонента
-
move
(x, y)¶
-
move
(qpoint) - Parameters
x (int) – координата х
y (int) – координата у
qpoint (QtCore.QPoint) – объект, точка
Изменяет положение компонента относительно родителя
-
palette
()¶ Возвращает
QtGui.QPalette
, текущую палитру компонента. Для установки новой палитры компонента, необходимо воспользоваться методомsetPalette()
-
parentWidget
()¶ возвращает родительский виджет
-
pos
()¶ Возвращает
QtCore.QPoint
, содержащий координаты левого верхнего угла виджета, относительно родителя.
-
rect
()¶ Возвращает
QtCore.QRect
, содержащий координаты и размеры прямоугольника, в который вписан компонент
-
repaint
()¶
-
repaint
(x, y, h, w)
-
repaint
(qrect)
-
repaint
(qregion) Незамедлительно вызывает метод :py:meth::paintEvent() для перерисовки компонента, при условии, что компонент не скрыт и обновление не запрещено с помощью метода :py:meth::setUpdateEnabled()
-
resize
(h, w)¶
-
resize
(qsize) h - высота
w - ширина
qsize -
QtCore.QSize
, размер
Задает минимальные размеры виджета
widget.resize(300, 400)
-
screenGeometry
()¶ Возвращает размеры окна
screen = widget.screenGeometry()
-
setAutoFillBackgroud
(bool)¶ Включает автоматическию прорисовку фона. Компоненты-потомки имеют прозрачный фон и не перерисовываются автоматический
-
setAttribute
(key, value)¶ Изменяет атрибуты окна
window.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)
-
setBaseSize
(h, w)¶
-
setBaseSize
(qsize) - Parameters
h (int) – высота
w (int) – ширина
qsize (QtCore.QSize) – объект, размер
Задает базовый размер окна.
-
setDisabled
(disabled)¶ - Parameters
enabled (bool) – доступность объекта
Управляет доступностью объекта, если объект не доступен, то генерация сигналов объекта выключена
-
setEnabled
(enabled)¶ - Parameters
enabled (bool) – доступность объекта
Управляет доступностью объекта, если объект не доступен, то генерация сигналов объекта выключена
-
setGeometry
(x, y, h, w)¶
-
setGeometry
(qrect) x -
int
, координата хy -
int
, координата уh -
int
, координата hw -
int
, координата wqrect -
QtCore.QRect
, прямоуголная область
Задает расположение окна и его размер. Метод не учитывает высоту заголовка и ширину границ.
widget.setGeometry(600, 400, 100, 200)
-
setFixedHeight
(h)¶ - Parameters
h (int) – высота
Задает фиксированную ширину окна. Изменить ширину окна мышкой нельзя.
-
setFixedWidth
(w)¶ - Parameters
w (int) – ширина
Задает фиксированную высоту окна. Изменить высоту окна мышкой нельзя.
-
setFixedSize
(h, w)¶
-
setFixedSize
(qsize) - Parameters
h (int) – высота
w (int) – ширина
qsize (QtCore.QSize) – объект, размер
Задает фиксированный размер окна. Изменить размеры окна мышкой нельзя, кнопка развернуть в заголовке становится не активной.
-
setLayout
(layout)¶ layout -
QtGui.QVBoxLayout
, контейнер для виджетов
Задает контейнер для виджета
layout = QVBoxLayout() widget.setLayout(layout)
-
setMaximumHeight
(h)¶ - Parameters
h (int) – высота
Задает максимальную ширину окна.
-
setMaximumWidth
(w)¶ - Parameters
w (int) – ширина
Задает максимальную высоту окна.
-
setMaximumSize
(h, w)¶
-
setMaximumSize
(qsize) - Parameters
h (int) – высота
w (int) – ширина
qsize (QtCore.QSize) – объект, размер
Задает максимальный размер окна.
-
setMinimumHeight
(h)¶ - Parameters
h (int) – высота
Задает минимальную ширину окна.
-
setMinimumWidth
(w)¶ - Parameters
w (int) – ширина
Задает минимальную высоту окна.
-
setMinimumSize
(h, w)¶
-
setMinimumSize
(qsize) - Parameters
h (int) – высота
w (int) – ширина
qsize (QtCore.QSize) – объект, размер
Задает минимальный размер окна.
-
setPalette
(qpalette)¶ - Parameters
qpalette –
QtGui.QPalette
устанавливает палитру компонента
-
setParent
(parent[, <ТипОкна>])¶ Задает родителя для виджета
-
setStyleSheet
()¶ Изменяет стиль компонента
label.setStyleSheet("background-color: #ffffff;")
-
setToolTip
(text)¶ Задает текст всплывающей подсказки
-
setVisible
(bool)¶ Отображает/скрывает виджет
-
setWhatsThis
(текст)¶ Задает текст справки компонента
-
setWindowFlags
(flags)¶ задает флаги виджета
-
setWindowIcon
(qicon)¶ Отображает иконку в заголовке окна
widget.setWindowIcon(QtGui.QIcon('some.png'))
-
setWindowTitle
(text)¶ Задает текст, который будет выводиться в заголовке окна
widget.setWindowTitle('Window title')
-
show
()¶ Отображает виджет
widget.show()
-
sizeHont
()¶ Возвращает
QtCore.QSize
, рекомендуемые размеры компонента
-
tooltip
()¶ Возвращает текст всплывающей подсказки
-
update
()¶
-
update
(x, y, h, w)
-
update
(qrect)
-
update
(qregion) Посылает сообщение о необходимости перерисовки компонента.
-
whatsThis
()¶ Возвращает текст справки компонента
-
width
()¶ Возвращает число, ширину компонента
-
windowFlags
()¶ Возвращает все установленные флаги
-
windowType
()¶ Возвращает тип окна программы
-
x
()¶ Возвращает число, координату х верхнего левого угла виджета, относительно родителя
-
y
()¶ Возвращает число, координату у верхнего левого угла виджета, относительно родителя
- static
setTabOrder
(qwidget1, qwidget2)¶ Позволяет задать последовательность смены фокуса при нажатии <Tab>
-
clearFocus
()¶ Убирает фокус ввода с компонента
-
focusNextChild
()¶ Находит следующий компонент, которому можно передать фокус и передает фокус. Возвращает булево, комопонент найден или нет
-
focusNextChild
(flag) Если flag=True, то метод аналогичен методу :py:meth::focusNextChild(). Если flag=False, то метод аналогичен :py:meth::focusPreviousChild(). Возвращает булево, комопонент найден или нет
-
focusPreviousChild
()¶ Находит предыдущий компонент, которому можно передать фокус и передает фокус. Возвращает булево, комопонент найден или нет
-
focusPolicy
()¶ Возвращает текущий способ получения фокуса
-
focusProxy
()¶ Возвращает ссылку на комонент, который обрабатывает фокус ввода вместто теущего компонента
-
focusWidget
()¶ Возвращает ссылку на последний компонент, для которого вызывался :py:meth::setFocus()
-
grapKeyboard
()¶ Захватывает ввод с клавиатуры. Другие компоненты не будут получать события клавиатуры, пока не будет вызван метод :py:meth::releaseKeyboard()
-
hasFocus
()¶ Возвращает булево, находится ли компонент в фокусе
-
setFocus
([reason])¶ Устанавливает фокус ввода
reason - причина изменения фокуса, атрибуты из класса :py:class::QtCore.Qt
MouseFocusReason - фокус изменен с помощью мыши
TabFocusReason - нажата клавиша <Таb>
BacktabFocusReason - нажата комбинация клавиш <Shift>+<Tab>
ActiveWindowFocus - окно стало активным или неактивным
PopupFocusReason - открыто или закрыто всплывающее окно
ShortcutFocusReason - нажата комбинация клавиш быстрого доступа
MenuBarFocusReason - фокус изменился из-за меню
OtherFocusReason - другая причина
-
releaseKeyboard
()¶ Освобождает захваченный ранее ввод с клавиатуры
-
setFocusPolicy
(method)¶ Задает способ получения фокуса компонентом.
method - атрибут из класса :py:class::QtCore.Qt
NoFocus - компонент не может получать фокус
TabFocus - с помощью клавиши <Tab>
ClickFocus - с помощью щелчка мыши
StrongFocus - <Tab> и щелчок мыши
WheelFocus - <Tab>, щелчок мыши и колесо мыши
-
setFocusProxy
(qwidget)¶ Позволяет указать ссылку на компонент, который будет получать фокус вода вместо текущего компонента
-
keyPressEvent
(event)¶ - Parameters
event –
Вызывается при нажатии клавиш на клавиатуре
-
keyReleaseEvent
(event)¶ - Parameters
event –
Вызывается при отпускании ранее нажатой клавиши
-
grabShortcut
(клавиши[, контекст])¶ Регитсрирует клавиши быстрого доступа и возвращает идентификатор, с помощью которого можно управлять им в дальнейшем.
клавиши - :py:class::QtGui.QKeySequence
контекст - атрибут из :py:class::QtCore.Qt
WidgetShortcut, -
WidgetWithChildrenShortcut -
WindowShortcut - по умолчанию
ApplicationShortcut -
-
releaseShortcut
(idi)¶ Удаляет комбинацию с указанным идентификатором
-
setShortcutEnabled
(idi[, flag])¶ Включает/выключает клавиши быстрого доступа
-
changeEvent
(event)¶ - Parameters
event –
QWindowStateChangeEvent
, при обработке события WindowStateChange
Обработчик изменения состояния окна, приложения или компонента.
-
closeEvent
(event) - Parameters
event –
QCloseEvent
Обработчик закрытия окна
-
event
(event)¶ - Parameters
event –
QEvent
Обработчик всех эвентов, возвращает True если событие принято, иначе False
-
focusInEvent
(event)¶ - Parameters
event –
QFocusEvent
Эвент получнеия фокуса
-
focusOutIvent
(event)¶ - Parameters
event –
QFocusEvent
Эвент потери фокуса
-
hideEvent
(event)¶ - Parameters
event –
QHideEvent
Обработчик скрытия компонента
-
moveEvent
(event)¶ - Parameters
event –
QMoveEvent
Обработчик перемещения окна
-
paintEvent
(event)¶ - Parameters
event –
QPaintEvent
Обработчик перерисовки компонента
-
resizeEvent
(event)¶ - Parameters
event –
QResizeEvent
Обработчик изменения размера окна
-
showEvent
(event)¶ - Parameters
event –
QShowEvent
Обработчик отображения компонента