Глава 13. Создание графического интерфейса средствами Qt
проекта и настроим класс главного окна: зададим родительский класс (в вы-
падающем списке Base Class установим QWidget) и снимем флажок для авто-
матической генерации файла формы (Generate Form) (см. рис. 13.4).
Рис. 13.4: Создание класса окна
Откроем файл mainwindow.cpp и изменим код конструктора окна:
#include #include #include #include #include MainWindow : : MainWindow ( QWidget ∗ p a r e n t ) : QWidget ( p a r e n t )
{
//Первая горизонтальная строка. Начальный текст в поле ввода
QLineEdit ∗ l L i n e E d i t = new QLineEdit ( " T e x t 1 " ) ;
//Задаём текст. & — означает комбинацию клавиш для активации виджета
QLabel ∗ l L a b e l = new QLabel ( " L i n e E d i t &1 " ) ;
//Задаём виджет на который будет переключаться фокус ввода при нажатии Alt+1
l L a b e l −>setBuddy ( l L i n e E d i t ) ;
//Размещаем поле ввода и метку в одной строке
QHBoxLayout ∗ lHBoxLayout = new QHBoxLayout ;
lHBoxLayout−>addWidget ( l L a b e l ) ;
lHBoxLayout−>addWidget ( l L i n e E d i t ) ;
//Вторая горизонтальная строка
QLineEdit ∗ l L i n e E d i t 2 = new QLineEdit ( " T e x t 2 " ) ;
QLabel ∗ l L a b e l 2 = new QLabel ( " L i n e E d i t &2 " ) ;
l L a b e l 2 −>setBuddy ( l L i n e E d i t 2 ) ;
QHBoxLayout ∗ lHBoxLayout2 = new QHBoxLayout ;
lHBoxLayout2−>addWidget ( l L a b e l 2 ) ;
lHBoxLayout2−>addWidget ( l L i n e E d i t 2 ) ;
//Третий ряд виджетов с кнопками
QPushButton ∗ lPushButtonOk = new QPushButton ( " & Ok " ) ;
QPushButton ∗ l P u s h B u t t o n C a n c e l=new QPushButton ( " & C a n c e l " ) ;
QHBoxLayout ∗ lHBoxLayout3 = new QHBoxLayout ;
//Добавим элемент-растяжку он займёт всё возможное свободное пространство
//и "прижмёт"кнопки к краю
lHBoxLayout3−>a d d S t r e t c h ( ) ;
lHBoxLayout3−>addWidget ( lPushButtonOk ) ;
lHBoxLayout3−>addWidget ( lPushButtonCancel ) ;
Программирование на языке С++ в среде Qt Creator