Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet170/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   166   167   168   169   170   171   172   173   ...   193
Bog'liq
Book-qtC


Глава 13. Создание графического интерфейса средствами Qt
взаимоисключающих вариантов выбора, где только один переключатель
включён, а все остальные выключены.
К виджетам-контейнерам (Containers) относят QFrame, QGroupBox,
QTabWidget, QToolBox
. QFrame — наиболее общий элемент. Это базовый класс
для виджетов, которые имеют обрамление. От него наследуют такие клас-
сы визуальных элементов как QLabel, QLCDNumber, QSplitter, QToolBox,
QStackedWidget, QAbstractScrollArea
. Может использоваться самостоятельно
для отображения различных рамок.
QGroupBox
используют для выделения группы виджетов рамкой с надписью.
Есть возможность задать клавиатурную комбинацию, чтобы перевести фо-
кус ввода на виджеты в группе. Не создаёт компоновку для группы видже-
тов автоматически.
QTabWidget
— виджет для отображения виджетов внутри отдельных страниц.
Предоставляет панель вкладок и показывает виджет для текущей страницы
внутри себя. Для работы необходимо создать виджет и добавить его как
страницу, а также задать имя страницы.
QToolBox
используют для создания вертикальной колонки виджетов со вкладка-
ми. Каждый виджет имеет отдельную вкладку. Текущий видимый виджет
соответствует текущей открытой вкладке.
Также следует выделить виджеты-виды (Views), к которым относят
QListView, QListWidget, QTableView, QTableWidget, QTreeView, QTreeWid-
get
. Они добавляют возможность выводить информацию в виде списков, таблиц
и деревьев. QListView, QTableView, QTreeView используют модель, как ис-
точник данных (см. абстрактный класс QAbstractItemModel). QListWidget,
QTableWidget
и QTreeWidget используют как самостоятельный виджет с данны-
ми, данные добавляют поэлементно (см. QListWidgetItem, QTableWidgetItem,
QTreeWidgetItem
).
К элементам вывода информации (Display widgets) относят QLabel,
QLCDNumber
и QProgressBar. QProgressBar позволяет вывести текущий прогресс
в виде заполненной линии. QLCDNumber выводит целые и числа с плавающей запя-
той в стиле семисегментного дисплея. QLabel используют для вывода различной
текстовой информации. Этот виджет также поддерживает разметку HTML4, ко-
торую можно использовать для оформления текста.
Наиболее многочисленная группа — элементы ввода (Input widgets). К ним
относят
QComboBox, QDateEdit, QDial, QDoubleSpinBox , QFontComboBox,
QLineEdit, QScrollBar, QSlider, QSpinBox, QTextEdit, QTimeEdit.
QComboBox
— выпадающий список, используемый для выбора элемента из списка
альтернатив.
QDateTimeEdit
— поле ввода даты и времени. Позволяет вводить и показывать
время в заданном формате. Вид этого элемента наследуют также QTimeEdit
и QDateEdit.
QDial
— изменяет числовое значение по тому же принципу, что и регуляторы на
панели приборов. Наследует от абстрактного класса QAbstractSlider.
Программирование на языке С++ в среде Qt Creator


13.7. Задачи для самостоятельного решения
373
QLineEdit
— поле ввода. Даёт возможность не только вводить текст, но и прове-
рять допустимость ввода (см. класс QValidator). Имеет режим для ввода
пароля. Также возможно задать маску для ввода значений.
QScrollBar
— элемент управления скроллингом. Наследует от абстрактного
класса QAbstractSlider. Каждому положению указателя соответствует
значение в заданных пределах. Часто используют для прокрутки содер-
жимого других виджетов.
QSlider
— элемент, который использует перетаскивания мышкой для ввода зна-
чений. Каждому положению указателя соответствует значение, в заданных
пределах. Наследует от абстрактного класса QAbstractSlider.
13.7
Задачи для самостоятельного решения
1. Добавьте к примеру калькулятора поддержку нескольких дополнительных
арифметических действий (вычитание, умножение, деление).
2. Создайте проект с графическим интерфейсом. Разместите на окне в ком-
поновщиках 5 различных виджетов. Соедините их (по 2–3 между собой)
сигнально-слотовыми соединениями, таким образом, чтобы они реагиро-
вали на изменения состояния друг друга. (Например, чтобы QScrollBar
реагировал на перемещение QSlider).
3. Создайте поле для игры в крестики-нолики. Для этого разместите кнопки в
компоновщиком QGridLayout сеткой 3х3. Также разместите в окне надпись
QLabel
, которая будет показывать текст «Player1» или «Player2» в зависи-
мости от того, ходит первый игрок (крестики) или второй игрок (нолики).
При нажатии на кнопку она должна менять текст в зависимости от игрока
на символ «X» или «O». Используйте для этого класс QSignalMapper. Так-
же добавьте кнопку «Clear», которая будет очищать поле (устанавливать в
качестве текста для всех кнопок пустую строку). После каждого нажатия
кнопки «Clear» порядок хода меняется.
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   166   167   168   169   170   171   172   173   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish