На этом уроке мы узнаем секрет гениального интерфейса. Для этого программа должна быть максимально простой и удобной. Желающие смогут потренироваться в использовании делегатов.
Задание: Написать программу для вычисления средней оценки.
Дата отправки отчёта:
26 апреля 2017 г.
Задание выполнено: за
3 час. 20 мин.
Чему научился:
1) Устанавливать текст всплывающей подсказки; 2) Использовать CSS для оформления виджетов.
Что было сложным:
Загрузить и применить настройки из CSS файла.
Комментарии:
Опробовал два предложенных способа, без использования делегата и с его использованием. Второй вариант понравился больше - класс Note сам вызывает функцию обновления текста меток при изменении внутреннего состояния.
Компилятор частенько предупреждает об использовании устаревших возможностей библиотеки GTK, поначалу я скрывал предупреждения с помощью директивы, но теперь решил устранить эту неудобную проблемку. В этом уроке предупреждения были вызваны сменой размера шрифта на кнопках и метках. Более современное решения основано на использовании CSS файлов. Плюс такого подхода в том, что используются богатые возможности CSS для оформления программы и при этом вносимые изменения не требуют перекомпиляции проекта. Изменил файл, перезапустил приложение и сразу заметен результат. На втором скриншоте результат изменения CSS файла.
Так же, как и на сайтах, в веб-программировании. Подготавливается CSS файл, в котором содержится описание элементов, их цвет, размеры, оформление. При запуске программы считывается этот файл и на лету применяются стили.
Да это понятно, я имею в виду как у них это сделано? То есть просто задаётся имя элемента и оно выступает как id? А тип - это класс. Я правильно понимаю?
Адресовать элементы можно с помощью классов, например, для всех кнопок. Можно указывать вложенность элементов, например применить стили только для меток, которые вложены в таблицу. И можно адресовать напрямую, например для конкретного элемента со значением id. Это же значение id устанавливается в C-коде для конкретного виджета, так организуется связь.
На демках и примерах видел, как можно было установить изображение, выполнить простую анимацию. Про другие фичи не знаю, не экспериментировал, мне нужно было изменить размер шрифта, а оказалось, что теперь это делается через CSS.
Научился: Использовать компонент ToolTip и прописывать подсказки. Из знаний с предыдущего урока Менеджер паролей, использовал, вместо четырех функций для обработки нажатий на кнопки, note.AddNote(Convert.ToInt16(((Button)sender).Text));
Научился: создавать 1 событие сразу для нескольких виджетов(control-ов) Трудности: создать 1 событие, для связи всех кнопок(2,3,4,5) Я уже давно решал эту задачу, но я решил переходить потихоньку на новые языки, мой выбор пал на c++, а чтобы быстрее писать такие графические программы, выбрал qt 5+