Красивый калькулятор: Калькулятор онлайн — лучший и бесплатно

Простой GUI калькулятор на Python #1. Дизайн приложения / Хабр

Штош. Наверное, каждый начинающий программист после «Hello, world!» хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор — это как-то скучно и просто. Хочется сделать приложение вот прямо как в системе. Ну или хотя бы что-то похожее.

В этой серии статей я научу вас делать простой кроссплатформенный десктопный калькулятор. Здесь не будет тригонометрических функций, процентов, интегралов и других полезных вещей. Вы сможете добавить их по своему желанию.

Мы будем использовать язык Python, фреймворк Qt, библиотеку PySide6, сразу установим её:

pip install PySide6

Qt Designer

Создавать интерфейс мы будем в приложении Qt Designer. Его можно скачать отдельно или найти в папке установленного PySide. Для этого перейдем по пути:

python(или venv*)/Lib/site-packages/PySide6/designer. exe

Создаем Main Window, т.е. главное окно приложения.

Сразу убираем ненужные menubar и statusbar.

Название приложения можно изменить в свойстве главного окна windowTitle.

Элементы калькулятора

Перетащим нужные элементы в интерфейс. В нашем калькуляторе будет поле ввода Line Edit.

Label с временным выражением над этим полем ввода.

Grid Layout для кнопок.

Просто закинем эти элементы и выберем Lay Out Vertically для центрального виджета.

Теперь закинем кнопки в Grid Layout, у меня будет 4 колонки и 5 рядов. Чтобы скопировать и вставить элемент, можно перетащить его с зажатой клавишей Ctrl.

Поставим текст во все кнопки. Для Backspace мы позже поставим иконку.

Проставим горячие клавиши для всех кнопок, кроме Clear и отрицания. За это отвечает свойство shortcut. К сожалению, в Qt Designer нельзя указать несколько горячих клавиш для одной кнопки. Хотелось бы, чтобы клавиши «Enter», «Return» и «=» выполняли вычисление. Мы сделаем это позже в коде. А пока поставим для вычисления одинокую клавишу =.

Запишем 0 в Line Edit и выберем правое горизонтальное выравнивание для текста.

Нам нужно сделать так, чтобы пользователь не мог вводить что попало в это поле, чтобы он мог его только читать. Для этого существует свойство readOnly.

Укажем максимальную длину в 16 символов, как в калькуляторе Windows.

Запишем в лейбл какое-нибудь выражение и поставим правое выравнивание.

Чтобы посмотреть превью дизайна используйте сочетание клавиш Ctrl + R.

Давайте назовем элементы, чтобы в коде было проще обращаться к ним.

Размерная политика элементов

Вы спросите: «Почему интерфейс так плохо выглядит?». Все потому, что у элементов не настроена вертикальная политика. Для лейбла и поля поставим Maximum.

Конечно же не забываем сохранить файл интерфейса. Он имеет расширение ui. Обычно я называю файл design.ui

Для всех кнопок поставим Expanding.

Стилизация калькулятора

Сначала нужно определиться с цветовой палитрой. Я буду использовать 4 цвета:

  1. Почти черный #121212 для фона.

  2. Белый #FFF для текста кнопок и поля ввода.

  3. Серый #666 для фона кнопок при наведении.

  4. Серый посветлее #888 для текста временного выражения и фона кнопок при нажатии.

В Qt Designer поддерживается язык css. Напишем простенький stylesheet для главного окна. Для всего виджета указываем белый цвет текста и почти черный цвет #121212 для фона.

Я буду использовать бесплатный шрифт Rubik из библиотеки Google Fonts. Он довольно приятный.

QWidget {
	color: white;
	background-color: #121212;
	font-family: Rubik;
	font-size: 16pt;
	font-weight: 600;
}

Давайте посмотрим, что получается.

Давайте изменим кнопки на плоские с прозрачным фоном.

QPushButton {
	background-color: transparent;
	border: none;
}

Теперь напишем изменение фона кнопок при наведении и нажатии. При наведении цвет фона будет меняться на серый #666, при нажатии на серый #888.

QPushButton:hover {
	background-color: #666;
}
QPushButton:pressed {
	background-color: #888;
}

Посмотрим на результат.

Стили для Line Edit и Label

Сначала разберемся с Line Edit. Поставим размер шрифта 40pt и уберем границы. Я не буду делать какие-то изменения при наведении и нажатии, потому что пользователь не может взаимодействовать с этим полем.

font-size: 40pt;
border: none;

Для лейбла укажем только цвет #888. С этим элементом пользователь тоже не может взаимодействовать.

color: #888;

Иконки

Теперь зайдем на Google Icons и возьмем черную иконку калькулятора и белую иконку backspace. Я возьму Sharp иконки с размером 24 пикселя. Формат выбирайте на ваше усмотрение. По опыту скажу, что лучше SVG. И лучше оно не только в том, что оно без труда масштабируется без потери качества (векторная графика), но еще и скачивается одним файлом. При скачивании PNG вам нужно будет распаковать архив, зайти в одну из двух папок и вытащить саму иконку.

В статье я скачивал PNG, не делайте так. Я думал, что Qt Designer не поддерживает иконки с векторной графикой, даже не попробовав.

Создадим файл ресурсов:

Resource Browser > Edit Resources > New Resource File.

Я сохранил файл с названием files.qrc. Добавим префикс для иконок.

Закинем туда наши две иконки.

Поставим иконку Backspace:

icon > choose Resource

Поставим размер 24 x 24 пикселя в свойстве iconSize.

То же самое проделаем для иконки приложения.

Финальные штрихи

Почти готово. Убираем текст из лейбла. Ставим размер главного окна. У меня будет 300 на 500 пикселей. Такой же размер поставлю минимальным для приложения.

Еще добавлю такую фичу — курсор «указывающая рука» для кнопок. Поставлю только для одной кнопки, сейчас доделаем в коде.

Редактируем интерфейс в коде

Файл интерфейса представляет собой файл с xml разметкой. Мы можем найти блок кода с указывающей рукой, введя в поиске по коду Pointing

<property name="cursor">
 <cursorShape>PointingHandCursor</cursorShape>
</property>

Заметим, что этот блок кода идет после блока размерной политики. Поэтому нам нужно заменить:

<property name="sizePolicy">
 <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
  <horstretch>0</horstretch>
  <verstretch>0</verstretch>
 </sizepolicy>
</property>

на:

<property name="sizePolicy">
 <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
  <horstretch>0</horstretch>
  <verstretch>0</verstretch>
 </sizepolicy>
</property>
<property name="cursor">
 <cursorShape>PointingHandCursor</cursorShape>
</property>

В современных редакторах это сделать очень просто. Например, в VS Code нужно нажать

Ctrl + H.

Впишем нужные блоки кода и нажмем Replace All (Ctrl + Alt + Enter).

Проверяем в дизайне.

Дизайн сделан, поздравляю!

Конвертируем файл ресурсов и интерфейса

Для начала нам нужно конвертировать файл ресурсов в питоновский файл. Для этого напишем в терминале:

pyside6-rcc "название файла ресурсов.qrc" > "название файла ресурсов_rc.py"

В нашем случае:

pyside6-rcc files.qrc > files_rc.py

Теперь конвертируем в Python файл интерфейса. Для этого введем в терминал тот же самый синтаксис, но теперь используем pyside6-uic:

pyside6-uic design.ui > design.py

Если у вас на выходе получаются файлы с кодировкой UTF-16, конвертируйте их в UTF-8 во избежание дальнейших проблем.

Штош, в следующей статье напишем код для главного функционала калькулятора. До встречи.


Репозиторий на GitHub

Numerical: очень красивый и удобный калькулятор для iPhone

13 марта 2014Технологии

Поделиться

0

Совсем недавно мы рассказывали вам об удобном калькулятор MyScript, который позволяет удобно совершать вычисления с помощью рукописного набора символов. Продолжая калькуляторную тему, сегодня мы предлагаем вам посмотреть на еще одно отличное приложение — Numerical. В нем нет рукописного ввода символов, зато есть отличный дизайн и еще много чего интересного. Так что давайте смотреть.

Первое, что отмечаешь в приложении — его внешний вид. Выдержанный согласно всем современным дизайнерским трендам (читай — стиль iOS 7), Numerical выглядит просто отлично. Картину дополняют приятные анимации и приятные звуки нажатия кнопок.

Теперь что касается его непосредственного предназначения — вычислений. Они происходят почти по стандартной схеме: вы вводите цифры, выбираете операторов и получаете результат. Почему почти? Да потому, что для вывода результата на экран вам не нужно нажимать «равно» — программа автоматически все посчитает сама. К этому быстро привыкаешь и это довольно удобно.

 

Вторая очень классная штука — это история вычислений. Все знают, что при нажатии на «С», калькулятор сохраняет результат у себя в памяти. Но обычно, калькулятор может «держать» в памяти не более одного вычислений. Здесь же все иначе — значений может быть сколько угодно. Чтобы получить доступ к истории вычислений просто свайпните влево на экране вычислений.

 

Еще одна отличная возможность — это возможоность посмотреть пошаговую историю сохраненных вычислений. Для этого нужно просто свайпать вправо и влево для просмотра прошлых/будущих операций соответственно. Это можно сравнить с кнопками «вперед/назад» в браузере. Если вы случайно ошиблись, достаточно просто вернуться на соответствующий шаг и поставить правильный оператор или цифру. Здорово же.

Единственный недостаток в этом отличном приложении — недостаток операторов. В Numerical доступны только стандартные арифметические действия, скобки и возведение в степень. Никаких других функций и операторов нет. Но если ваши вычисления далеки от сложности уровня высшей математики, то можете смело загружать Numerical прямо сейчас. Обрадую и тех, кому этих математических функций и операторов не хватает — разработчики обещают активно добавлять их в ближайших обновлениях.

Загрузить

Цена: Бесплатно

Лучшие предложения

Надо брать: зимние кроссовки Reebok со скидкой 49%

Находки AliExpress: самые интересные и полезные товары

Распродажа 11.11: лучшие скидки на AliExpress и в других магазинах

9 полезных новогодних подарков, которые можно купить на распродаже 11.11

7 распространённых мифов о распродажах и их разоблачение

Лучшие предложения недели: скидки от AliExpress, Redmond, book 24 и других магазинов

10 дорогих товаров, которые заметно подешевеют на распродаже 11. 11

Калькулятор красоты

Калькулятор красоты

Бесплатный калькулятор красоты лица — оцените свое красивое лицо и узнайте, на какую знаменитость вы похожи




Свободное лицо Калькулятор красоты . Как работает наш калькулятор красоты?
Мы используем передовые технологии искусственного интеллекта для создания инструментов и ресурсов для определения красоты. множество красивых лиц.
В отличие от других инструментов для проверки красоты, которые проверяют вашу красоту, сравнивая черты вашего лица с их фиксированными правилами золотого сечения,
наш ИИ-калькулятор рассчитывает вашу оценку красоты лица, сравнивая черты вашего лица со многими и разнообразными хорошо известными красивыми лицами.
Наша машина ИИ была обучена тому, как люди судить о красивых лицах других.
Наш Калькулятор Красоты рассчитает вашу оценка красоты, как и другие люди, оценивающие ваше красивое лицо.
Просто загрузите фотографию своего лица, сделайте снимок с помощью телефона или введите URL-адрес фото,
позволяет наш ИИ Калькулятор красоты, чтобы рассчитать вашу оценку красоты лица и узнать, какая знаменитость вы выглядит как.
На результаты оценки красоты влияют используемый алгоритм наборов данных и обученные образцы. применяемый. Значения результатов приведены только для справки.


Ваша конфиденциальность важна для нас.
Мы не храним фотографии пользователей. Все фотографии удаляются после распознавания.
мы не продаем и не передаем какие-либо пользовательские данные третьим лицам.


Анализ Лица

Определенные Размеры И Соотношения Создают Гармонию В Чертах Привлекательности Лица!

Чтобы определить показатель привлекательности лица, PinkMirror анализирует геометрические пропорции черт лица, таких как глаза, нос, губы и т.  д., а также расстояние между ними. Когда анализ лица будет завершен, вы сможете увидеть, какие черты вашего лица определяют вашу оценку красоты.

Красота находится в балансе этих черт анализа лица, которые художники неоклассической эпохи называли эстетическими принципами. Эти эстетические принципы анализируются на основе портретов, затем они вытягиваются и извлекаются в три общих правила. «Правило пятых», «Правило третей» и «Правило 77».

Правило пятых

Пропорциональное лицо может быть разделено по вертикали на пятые части, каждая из которых примерно равна ширине одного глаза. Эстетический баланс считается идеальным, когда черты лица укладываются в эти параметры. Ширина основания носа примерно равна расстоянию между глазами.

Правило третей

Леонардо да Винчи, этот всесторонний гений науки и искусства, разработал формулу для определения хорошо сбалансированного лица. Он обнаружил, что хорошо сбалансированное лицо можно равномерно разделить на трети по вертикали. Верхняя треть — от линии роста волос до кончиков бровей. Средняя треть — от вершины бровей до основания носа. Нижняя треть — от кончика носа до подбородка.

Правило 77

Вышеуказанные два правила касаются черт лица, и это только один из аспектов красоты лица. Третье правило касается боковой глубины или, другими словами, бокового обзора.

Фронтальный анализ лица

Наиболее привлекательными чертами лица независимо от пола являются следующие

  • Наклон глазной щели – положительное название более привлекательно.
  • Соотношение битемпоральной кости и бизигомы – предпочтительна меньшая ширина бизигомы.

Когда дело доходит до лицевой привлекательности каждого пола, в игру вступает половой диморфизм. Например, привлекательные лобные черты лица, характерные для женщин, следующие.

  • Соотношение ширины бигониальной кости к ширине скуловой кости – предпочтительна меньшая ширина бигониальной кости
  • Соотношение длины подбородка к длине надгубной кости – предпочтительно меньшее соотношение длины подбородка.

Наоборот, привлекательные черты для мужчин заключаются в следующем.

  • Отношение ширины рта к ширине носа – предпочтительно большее отношение длины рта.
  • Поле между глазом и бровью — предпочтительно иметь более короткое расстояние между глазом и бровью.

Шкала красоты

Правило пятых, правило третей и правило 77 представляет собой простое представление сложного взаимодействия эстетических показателей между различными частями красивого лица.

В этой шкале красоты учитываются следующие аспекты.

  • Структура лица (размеры спереди и сбоку)
  • Симметрия (между левой и правой сторонами лица)
  • Структура черт (форма отдельных черт, таких как брови, нос и т. д.)
  • Качество кожи (кожа Тон и четкость кожи.)

Тон кожи: качество кожи, которое в основном равномерное по всему лицу.

Чистота кожи: Меньшие пятна, морщины. Сияние кожи свидетельствует о здоровье человека.

Важное примечание:

Обратите внимание, что система оценки привлекательности лица с помощью PinkMirror имеет ограничения, поэтому она не является окончательной. Красота — это пропорция всего лица, а не только отдельных черт, поэтому используйте эти значения в информативных целях.

Оценка – [0 ~ 1]

Изображение предоставлено

С этой оценкой анализа лица результаты могут определить очень непривлекательное лицо, потому что почти нет никакой симметрии с чертами лица.

Оценка – [1,0 ~ 2,9]

Изображение предоставлено

С помощью этой оценки анализа лица результаты определяют непривлекательное лицо, потому что симметрия не является линейной, а пропорции невелики.

Оценка – [3,0 ~ 6,9]

Изображение предоставлено

С помощью этой оценки анализа лица результаты определяют среднее лицо, поскольку симметрия лица почти отсутствует. Эта группа является общей популяцией.

Оценка – [7,0 ~ 8,9]

Изображение предоставлено

С помощью этой оценки анализа лица результаты могут определить красивое и привлекательное лицо, поскольку симметрия близка к идеальной.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *