QWidget - базовый виджет для всех интерфейсных объектов

Также можно назначить клавиши быстрого доступа с помощью классов :py:class::QShortcut или :py:class::QAction

class QtGui.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, координата h
  • w - int, координата w
  • qrect - 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 = 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:qpaletteQtGui.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:eventQWindowStateChangeEvent, при обработке события WindowStateChange

Обработчик изменения состояния окна, приложения или компонента.

closeEvent(event)
Parameters:eventQCloseEvent

Обработчик закрытия окна

event(event)
Parameters:eventQEvent

Обработчик всех эвентов, возвращает True если событие принято, иначе False

focusInEvent(event)
Parameters:eventQFocusEvent

Эвент получнеия фокуса

focusOutIvent(event)
Parameters:eventQFocusEvent

Эвент потери фокуса

hideEvent(event)
Parameters:eventQHideEvent

Обработчик скрытия компонента

moveEvent(event)
Parameters:eventQMoveEvent

Обработчик перемещения окна

paintEvent(event)
Parameters:eventQPaintEvent

Обработчик перерисовки компонента

resizeEvent(event)
Parameters:eventQResizeEvent

Обработчик изменения размера окна

showEvent(event)
Parameters:eventQShowEvent

Обработчик отображения компонента