Реши задачу на Qt Quick. Разработать калькулятор аналогичный калькулятору, установленному на вашем используемом компьютере. Управление калькулятором осуществляется по нажатию мыши. Организовать проверку корректности работы программы: − обработка
- Программирование
Условие:
Реши задачу на Qt Quick.
Разработать калькулятор аналогичный калькулятору,
установленному на вашем используемом компьютере. Управление
калькулятором осуществляется по нажатию мыши.
Организовать проверку корректности работы программы:
− обработка исключения деления на «0»;
− обработка ввода некорректных данных: ввод букв/символов/знаков;
− сохранение результата для выполнения следующего действия;
− обработка исключения извлечения квадратного корня из
отрицательного числа.
Сделай приятный, красочный интерфейс.
Вот мой код:
CMakeLists.txt:
cmakeminimumrequired(VERSION 3.16)
project(Calculator VERSION 0.1 LANGUAGES CXX)
set(CMAKECXXSTANDARDREQUIRED ON)
findpackage(Qt6 REQUIRED COMPONENTS Quick)
qtstandardprojectsetup(REQUIRES 6.8)
qtaddexecutable(appCalculator
main.cpp
)
qtaddqmlmodule(appCalculator
URI Calculator
VERSION 1.0
QMLFILES
Main.qml
)
Qt for iOS sets MACOSXBUNDLEGUIIDENTIFIER automatically since Qt 6.1.
If you are developing for iOS or macOS you should consider setting an
explicit, fixed bundle identifier manually though.
settargetproperties(appCalculator PROPERTIESMACOSXBUNDLEGUIIDENTIFIER com.example.appCalculator
MACOSXBUNDLEBUNDLEVERSION ${PROJECTVERSION}MACOSXBUNDLESHORTVERSIONSTRING ${PROJECTVERSIONMAJOR}.${PROJECTVERSIONMINOR}
MACOSXBUNDLE TRUE
WIN32EXECUTABLE TRUE
)
targetlinklibraries(appCalculator
PRIVATE Qt6::Quick
)
include(GNUInstallDirs)
install(TARGETS appCalculator
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKEINSTALLLIBDIR}
RUNTIME DESTINATION ${CMAKEINSTALLBINDIR}
)
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. Мы добавим кнопки для цифр, операций и текстовое поле для отображения результата.В функции и мы добавили обработку исключений. Если происходит деление на ноль или извлечение корня из отрицательного числа, мы выводим соответствующее сообщение. Теперь, когда у нас есть интерфейс и логика калькулятора, вы можете скомпилировать и запустить ваше приложение. Убедитесь, что у вас установлены все необходимые зависимости для Qt. Вы можете добавить стили и улучшить интерфейс, используя свойства , , , и другие элементы управления Qt Quick, чтобы сделать его более красочным и приятным для пользователя. Теперь у вас есть простой калькулятор на Qt Quick с обработкой исключений и базовым интерфейсом. Вы можете расширять функциональность, добавляя больше операций или улучшая интерфейс по своему усмотрению.
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Текстильная промышленность
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства