# 6.3. Свойства элементов Qt

Эта глава дает полный обзор поддерживаемых в настоящее время элементов Qt . Чтобы достичь лучшего понимания назначения свойств, они разделены в соответствии с иерархией наследования. Так как все элементы имеют предком `QWidget`, этот класс описан первым. Все свойства `QWidget` доступны для всех остальных элементов, поэтому повторно не приводятся. Для групп элементов, которые унаследованы от абстрактных подклассов (`QWidget` - базовый класс), свойства базового класса приведены вначале (хотя этот класс и не предоставляет видимых элементов в редакторе диалогов). Затем приводятся свойства для доступных элементов группы, содержащих специфичные опции. Для лучшего понимания иерархии наследования дерево, представляющее ее, приводится ниже:

- QWidget

  - QButton (abstract)

    - QCheckBox

    - QPushButton

    - QRadioButton

  - QComboBox

  - QFrame (abstract for now)

    - QGroupBox

    - QLCDNumber

    - QLabel

    - QProgressBar

    - QScrollView (abstract for now)

      - QListView

    - QSpinBox

    - QTableView (abstract)

      - QListBox

      - QMultiLineEdit

  - QLineEdit

  - QScrollBar

  - QSlider

## 6.3.1. Свойства QWidget

`QWidget` - базовый класс почти для всех элементов Qt и KDE. Поэтому элементы, унаследованные от `QWidget`, позволяют использовать те же установки в большинстве случаев.

- Appearance:

  - BgColor: Цвет заднего плана (background) элемента

  - BgMode: Режим заднего плана элемента

  - BgPalColor: Цветовая палитра заднего плана элемента

  - BgPixmap: Имя файла картинки заднего плана элемента

  - Cursor: Курсор над элементом

  - Font: Шрифт элемента

  - MaskBitmap: Имя файла для накладываемого точечного рисунка (masking bitmap)

- C++ Code:

  - AcceptsDrops: если установлено в true, экземпляр элемента воспринимает механизм drag'n drop Qt -протокола, не KDE 1.x !

  - Connections: соединение сигналов и слотов элемента

  - FocusProxy: элемент, предоставляющий фокус данному элементу

  - HasFocus: устанавливается, если элемент имеет фокус по умолчанию. Помните, что только один объект в диалоге может иметь данное свойство равным true

  - ResizeToParent: изменяет размер элемента до размера родителя (не виден в режиме редактирования)

  - VarName: имя переменной объекта. Измените это на имя, описывающее предназначение элемента.

- General:

  - IsEnabled: устанавливается, если элемент должен принимать пользовательские события

  - IsHidden: делает элемент невидимым (true) или видимым (false)

  - Name: устанавливает имя элемента. Помните, что имя отличается от VarName в коде C++.

- Geometry:

  - Height: высота элемента

  - IsFixedSize: true - имеет фиксированный размер

  - MaxHeight: максимальное значение для высоты Height

  - MaxWidth: максимальное значение для ширины Width

  - MinHeight: минимальное значение для высоты Height

  - MinWidth: минимальное значение для ширины Width

  - SizeIncX: количество пикселей в одном шаге при изменении размеров по X

  - SizeIncY: количество пикселей в одном шаге при изменении размеров по Y

  - Width: ширина элемента

  - X: положение по горизонтали, считаемое от левого угла

  - Y: положение по вертикали, считаемое сверху вниз

## 6.3.2. Наследуемые элементы QButton

`QButton` - абстрактный класс, предоставляющий свойства для всех кнопок.

Порожден от QWidget

Наследуется QCheckBox, QPushButton и QRadioButton.

- Appearance:

  - setPixmap: имя файла используемой картинки

- General:

  - setText: текст на метках, кнопках и ящиках (boxes), также предустановленный текст для строк ввода

  - setAutoRepeat: если разрешено, сигнал clicked() испускается через равные интервалы времени, пока кнопка находится в нажатом состоянии. Не действует на переключаемые (toggle) кнопки.

  - setAutoResize: Если true, то разрешается автоматическое изменение размера. Если оно разрешено, то кнопка изменяет свой размер при изменении содержимого.

### 6.3.2.1. Свойства QCheckBox

Порожден от QWidget и QButton

- General:

  - isChecked: (setChecked) определяет, выбрана ли кнопка при создании

### 6.3.2.2. Свойства QPushButton

Порожден от QWidget и QButton

- General:

  - isAutoDefault: (setAutoDefault) если установлено авто-умолчание, то кнопка становится кнопкой по умолчанию, когда она получает фокус ввода с клавиатуры

  - isDefault: (setDefault) может быть только одна кнопка по умолчанию и это может быть использовано только в диалоге. Кнопка по умолчанию испускает сигнал `clicked()` при нажатии пользователем клавиши Enter.

  - isMenuButton: (setIsMenuButton) сообщает кнопке о необходимости нарисовать стрелку меню. Меню должно быть вставлено отдельно.

  - isToggleButton::(setToggleButton) делает кнопку переключаемой, то есть заставляет ее вести себя аналогично QCheckBox.

  - isToggledOn: (setOn) (public slot) включает переключаемую кнопку.

### 6.3.2.3. Свойства QRadioButton

Порожден от QWidget и QButton

- General:

  - isChecked: (setChecked) определяет, выбрана ли кнопка при создании

## 6.3.3. Свойства QComboBox

Порожден от QWidget

(нет дополнительных свойств)

## 6.3.4. Элементы, унаследованные от QFrame

Порожден от QWidget

Сейчас используется только как абстрактный класс.

- Appearance:

  - Margin (setMargin): устанавливает отступ, равный расстоянию от самого внутреннего пикселя рамки и до самого внешнего пикселя содержимого

### 6.3.4.1. Свойства QGroupBox

Порожден от QWidget и QFrame

- General:

  - Title: (setTitle) устанавливает заголовок группы, который отображается на групповой рамке

### 6.3.4.2. Свойства QLCDNumber

Порожден от QWidget и QFrame

- General:

  - NumDigits:(setNumDigits) устанавливает количество цифр, отображаемых в QLCDNumber

  - Value: (display) (public slot) отображает исходное значение QLCDNumber

### 6.3.4.3. Свойства QLabel

Порожден от QWidget и QFrame

- Appearance:

  - Margin (setMargin): устанавливает отступ, который для QLabel равен расстоянию от рамки до первого символа текста метки, в зависимости от выравнивания метки

- C++ Code:

  - Buddy: (setBuddy) определяет объект, которому передается фокус при выборе метки

- General:

  - Text: (setText) устанавливает текст метки

  - isAutoResize: (setAutoResize) если true, то метка изменяет свой размер при изменении содержимого. Левый верхний угол не передвигается

### 6.3.4.4. Свойства QProgressBar

Порожден от QWidget и QFrame

- General:

  - TotalSteps: (setTotalSteps) (public slot) устанавливает общее количество шагов для индикатора прогресса. В процессе выполнения вашего задания для отображения прогресса вы должны вызывать метод setProgress(int) для отображения количества пройденных шагов (int).

### 6.3.4.5. QScrollView

Порожден от QWidget and QFrame

Наследуется QListBox (сейчас абстрактный)

Предоставляет элемент с возможностью прокрутки, который управляет отображением дочерних элементов с помощью вертикальной и горизонтальной прокрутки

#### 6.3.4.5.1. QListView

Порожден от QWidget, QFrame и QListView

Предоставляет список для отображения иерархических данных как в виде таблицы, так и в виде дерева. Имеет прокрутку, организованную с помощью QScrollView.

- Appearance:

  - ListViewFont: (setFont()) устанавливает шрифт для строк списка

  - ListViewPalette: (setPalette()) устанавливает палитру для строк списка

  - TreeStepSize: (setTreeStepSize(int)) смещение в пикселях дочернего элемента от родительского

  - hScrollBarMode: Режим прокрутки предоставляется QScrollView для горизонтальной прокрутки

  - isAllColumnsShowFocus: (setAllColumnsShowFocus(bool)) показывает фокус для всех колонок списка

  - isMultiSelection: разрешает множественный выбор строк списка

  - isRootDecorated: разрешает показ "+" и "-" для развернутых и свернутых веток

  - vScrollBarMode: Режим прокрутки предоставляется QScrollView для вертикальной прокрутки

- General:

  - Entries: позволяет вам вставить список строк, который устанавливается как QListViewItems

  - isAutoUpdate:

### 6.3.4.6. Свойства QSpinBox

Порожден от QWidget и QFrame

- General:

  - MaxValue: максимальное значение, которое пользователь может выбрать

  - MinValue: минимальное значение, которое пользователь может выбрать

  - Prefix:

  - Suffix:

  - Value: предустановленное значение при отображении элемента

  - isWrapping:

### 6.3.4.7. Элементы, унаследованные от QTableView

Порожден от <QWidget, QFrame и QTableView

Наследуется QListBox and QMultiLineEdit

#### 6.3.4.7.1. Свойства QListBox

Порожден от QWidget, QFrame и QTableView

- General:

  - isAutoBottomScrollBar: (setAutoBottomScrollBar)

  - isAutoScroll: (setAutoScroll)

  - isAutoScrollBar: (setAutoScrollBar)

  - isAutoUpdate: (setAutoUpdate)

  - isBottomScrollBar: (setBottomScrollBar)

  - isDragSelect: (setDragSelect)

  - isSmoothScrolling: (setSmoothScrolling)

- Geometry:

  - setFixedVisibleLines: устанавливает фиксированную высоту элемента, указывая количество текстовых строк, которые отображаются с использованием текущего шрифта

#### 6.3.4.7.2. Свойства QMultiLineEdit

Порожден от QWidget, QFrame и QTableView

- General:

  - Text: (setText) (public slot) устанавливает текст элемента

  - isAutoUpdate: (setAutoUpdate) используется для того, чтобы избежать мигания при больших изменениях; элемент не обновляется, если запрещено

  - isOverWriteMode: (setOverwriteMode) (public slot) включает режим замены при вводе

  - isReadOnly: (setReadOnly) (public slot) если установлен в true, то текст не может редактироваться

  - isTextSelected: (selectAll)(public slot) делает выбранным весь текст

- Geometry:

  - setFixedVisibleLines: устанавливает фиксированную высоту для элементов, при этом отображается заданное количество текстовых строк текущим шрифтом

## 6.3.5. Свойства QLineEdit

Порожден от QWidget

- General:

  - CursorPosition: (setCursorPosition) устанавливает позицию курсора по умолчанию

  - MaxLength: (setMaxLength) устанавливает максимальную длину строки

  - Text: (setText) (public slot) устанавливает текст, отображаемый при создании

  - hasFrame: (setFrame) если разрешено, то рисует элемент внутри рамки шириной 2 пикселя

  - isTextSelected: (selectAll) (public slot) делает текст выбранным

## 6.3.6. Свойства QScrollBar

Порожден от QWidget и `QRangeControl`.

- General:

  - MaxValue: устанавливает максимальное значение ползунка; используется в конструкторе (не обязательно)

  - MinValue: устанавливает минимальное значение ползунка; используется в конструкторе (не обязательно)

  - Orientation: (setOrientation) устанавливает горизонтальное или вертикальное положение

  - Value: устанавливает начальное положение (не обязательно)

  - isTracking: (setTracking) если разрешено, то элемент испускает сигнал `valueChanged()`, пока он перемещает ползунок при нажатой кнопке мыши; иначе сигнал испускается после того, как кнопка мыши будет отпущена

## 6.3.7. Свойства QSlider

Порожден от <QWidget и `QRangeControl`.

- General:

  - MaxValue: устанавливает максимальное значение ползунка; используется в конструкторе (не обязательно)

  - MinValue: устанавливает минимальное значение ползунка; используется в конструкторе (не обязательно)

  - Orientation: (setOrientation) устанавливает горизонтальное или вертикальное положение

  - Value: (setValue) (public slot) использует `QRangeControl::setValue()` для присвоения значения

  - isTracking:(setTracking) если разрешено, то элемент испускает сигнал `valueChanged()`, пока он перемещает ползунок при нажатой кнопке мыши; иначе сигнал испускается после того, как кнопка мыши будет отпущена