> For the complete documentation index, see [llms.txt](https://op-al.gitbook.io/s-30-voprosy-i-dop.-voprosy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://op-al.gitbook.io/s-30-voprosy-i-dop.-voprosy/qt.-osnovnye-graficheskie-vidzhety.-svyaz-koda-i-razmetki.-komponovka-vidzhetov..md).

# Qt. Основные графические виджеты. Связь кода и разметки. Компоновка виджетов.

**Qt** - фреймворк для разработки кроссплатформенного программного обеспечения на языке программирования C++.

&#x20;Qt позволяет запускать написанное с его помощью программное обеспечение в большинстве современных операционных систем путем простой компиляции программы для каждой системы без изменения исходного кода.&#x20;

**Фреймворк** включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Является полностью объектно-ориентированным, расширяемым и поддерживающим технику компонентного программирования.

**Визуальное программирование** - способ разработки программ, основывающийся на компонентном подходе, позволяющий оперировать готовыми конструкциями и описывать взаимодействие между ними.&#x20;

**Домен** - это мир, населенный набором классов, которые ведут себя в соответствии с характерными для домена правилами поведения.

&#x20;**Единая точка входа** - шаблон проектирования, обеспечивающий унифицированный интерфейс для взаимодействия доменов.

### Виджеты

**Виджеты** - это исходные элементы для создания пользовательского интерфейса в Qt. Виджеты могут отображать данные и информацию о состоянии, получить ввод от пользователя и предоставлять контейнер для других виджетов, которые должны быть сгруппированы. Виджет, не встроенный в родительский виджет, называется окном.

Компоненты графического интерфейса в Qt называются виджетами.

&#x20;QWidget - базовый класс для всех графических виджетов.&#x20;

Виджеты - это основные строительный блоки в Qt, которые и составляют графический интерфейс.&#x20;

Основные виджеты в Qt:&#x20;

• QLabel&#x20;

• QCheckBox&#x20;

• QComboBox&#x20;

• QPushButton

&#x20;• QLineEdit

&#x20;• QTableWidget

### Компоновки

[Компоновки](http://doc.crossplatform.ru/qt/4.7.x/layout.html) - элегантный и гибкий способ для автоматического размещения дочерних виджетов внутри контейнера. Каждый виджет сообщает компоновщику свои требования к размеру посредством свойств [sizeHint](http://doc.crossplatform.ru/qt/4.7.x/qwidget.html#sizeHint-prop) и [sizePolicy](http://doc.crossplatform.ru/qt/4.7.x/qwidget.html#sizePolicy-prop), а компоновщик соответственно распределяет доступное пространство.

<figure><img src="https://3644367790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUZOUsWlbTNqsUYoinAff%2Fuploads%2FW9q0bJDeQr2Qq2N9MvbR%2Fimage.png?alt=media&amp;token=80bf0cf4-d28a-4ee7-8101-ba83051c9e54" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3644367790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUZOUsWlbTNqsUYoinAff%2Fuploads%2F6NxQhGspzpq3tAJAbkxF%2Fimage.png?alt=media&amp;token=78980724-57a0-4174-8f80-90b6700c01c7" alt=""><figcaption></figcaption></figure>

<br>
