
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА"
Факультет инфокоммуникационных сетей и систем
Кафедра сетей связи и передачи данных
Лабораторная работа №6
«СОЗДАНИЕ ПРОГРАММЫ С GUI ПРИ ПОМОЩИ QT CREATOR»
по дисциплине «Объектно-ориентированное программирование»
Выполнил:
студент 2-го курса
дневного отделения
группы ИКПИ-92
Козлов Никита
Санкт-Петербург
2020
Contents
Постановка задачи 3
Вариант задачи 3
Функционал 3
Файл CMakeLists.txt 4
Файл txtwriter.h 5
Файл txtwriter.cpp 6
Файл txtwriter.ui 7
Файл main.cpp 10
Работа программы 10
Функция Clear 11
Функция Move 11
Функция Clear all 12
Функция Swap 13
Меню программы 13
Постановка задачи
В настоящей лабораторной работе необходимо разработать приложение, обладающее графическим интерфейсом с использованием средств библиотеки Qt. В приложении должно быть предусмотрено меню и панель инструментов. Ниже сформулирован ряд задач. Предлагаемые задачи достаточно просты, что позволяет сосредоточить внимание на вопросах организации интерфейса.
В настоящей лабораторной работе предлагаются две группы задач. в первой группе задач требуется разработать одну из разновидностей калькулятора. Ко второй группе задач относятся задачи, связанные с манипуляцией с содержимым текстового однострочного редактора.
Вариант задачи
Задача 13
На форме имеются два компонента LineEdit, вертикально скомпонованные. Обеспечить выполнение следующих операций:
clear(strEdtLeft)
clear(strEdtRight).
clearAll().
move(strEdtUpper, strEdtLower).
move(strEdtLower, strEdtRight).
swap(strEdtRight, strEdtLeft).
Функционал
Функция |
Описание |
Расположение |
Clear (Слева) |
Отчищает текст с левой формы ввода |
Форма txtwriter |
Clear (Справа) |
Отчищает текст с правой формы ввода |
Форма txtwriter |
Move Right |
Не отчищая форму ввода, переносит текст из левой формы в правую |
Форма txtwriter |
Move Left |
Не отчищая форму ввода, переносит текст из правой формы ввода в левую |
Форма txtwriter |
Clear All |
Отчищает текст в обоих формах ввода |
Форма txtwriter |
Swap |
Меняет текст форм местами |
Форма txtwriter |
New |
Создаёт новый документ |
Меню программы |
Help |
Выводит на экран информацию о программе |
Меню программы |
Exit |
Завершает работу программы |
Меню программы |
Файл cMakeLists.Txt
cmake_minimum_required(VERSION 3.5)
project(OOP4 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
# They need to be set before the find_package(Qt5 ...) call.
#if(ANDROID)
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
# if (ANDROID_ABI STREQUAL "armeabi-v7a")
# set(ANDROID_EXTRA_LIBS
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
# endif()
#endif()
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
if(ANDROID)
add_library(OOP4 SHARED
main.cpp
txtwriter.cpp
txtwriter.h
txtwriter.ui
)
else()
add_executable(OOP4
main.cpp
txtwriter.cpp
txtwriter.h
txtwriter.ui
)
endif()
target_link_libraries(OOP4 PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)