Разработать калькулятор на Qt Quick, аналогичный калькулятору, установленному на вашем используемом компьютере. Требования к функционалу: - Управление калькулятором осуществляется по нажатию мыши. - Обработка исключения деления на «0». - Обработка ввода
- Программирование
Условие:
Реши задачу на Qt Quick.
Разработать калькулятор аналогичный калькулятору,
установленному на вашем используемом компьютере. Управление
калькулятором осуществляется по нажатию мыши.
Организовать проверку корректности работы программы:
− обработка исключения деления на «0»;
− обработка ввода некорректных данных: ввод букв/символов/знаков;
− сохранение результата для выполнения следующего действия;
− обработка исключения извлечения квадратного корня из
отрицательного числа.
Сделай приятный, красочный интерфейс.
Вот мой код:
CMakeLists.txt:
cmake_minimum_required(VERSION 3.16)
project(Calculator VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS Quick)
qt_standard_project_setup(REQUIRES 6.8)
qt_add_executable(appCalculator
main.cpp
)
qt_add_qml_module(appCalculator
URI Calculator
VERSION 1.0
QML_FILES
Main.qml
)
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
set_target_properties(appCalculator PROPERTIES
# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appCalculator
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
target_link_libraries(appCalculator
PRIVATE Qt6::Quick
)
include(GNUInstallDirs)
install(TARGETS appCalculator
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
main.cpp:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
QObject::connect(
&engine,
&QQmlApplicationEngine::objectCreationFailed,
&app,
[]() { QCoreApplication::exit(-1); },
Qt::QueuedConnection);
engine.loadFromModule("Calculator", "Main");
return app.exec();
}
Main.qml:
import QtQuick
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
}
Решение:
Давайте шаг за шагом разработаем калькулятор на Qt Quick, основываясь на вашем коде. Мы добавим функциональность, интерфейс и обработку исключений, как вы и просили. ### Шаг 1: Обновление интерфейса Сначала мы создадим интерфейс калькулятора в файле `Main.qml`. Мы добавим кнопки для цифр, операций и текстовое поле для отображения результата. ```qml import QtQuick import QtQuick.Controls ApplicationWindow { visible: true width: 400 height: 600 title: qsTr(Калькулятор) property string currentInput: property double lastResult: 0 property string lastOperator: ...
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
AI помощники
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства