С Новым годом! Форум программистов, компьютерный форум, киберфорум
Curry
Войти
Регистрация
Восстановить пароль
Старый
Rust + conrod
Запись от Curry размещена 21.09.2019 в 20:36. Обновил(-а) Curry 25.09.2019 в 21:42
Показов 4066 Комментарии 9

Всё началось с того, что NeoMatrix придумал программистам задачку. Задачка была тривиальная и никому делать её не хотелось. А я решил, если уж делать, то на чём ни будь мало знакомом, используя задание с учебной целью. Rust я как то изучал немного, потом забыл. А язык интересный. Решил сделать на нём.
На https://crates.io удалось найти только одну GUI библиотечку...
Миниатюры
Нажмите на изображение для увеличения
Название: phone_db.PNG
Просмотров: 471
Размер:	40.7 Кб
ID:	5576  
Вложения
Тип файла: zip phone_db.0.1.1.zip (490.0 Кб, 299 просмотров)
Аватар для Curry
Модератор
Размещено в Rust
Curry вне форума
Старый
Рейтинг: 5.00. Голосов: 3.
Многоуровневая классификация неправильных глаголов английского языка
Запись от Curry размещена 14.07.2019 в 19:57. Обновил(-а) Curry 21.09.2019 в 18:42
Показов 1892 Комментарии 3

Многоуровневая классификация неправильных глаголов английского языка.

Я подразумеваю что читающий это в курсе основ английского языка и знает кто такой past participle.
А я, в свою очередь, не подразумеваю что я знаток английского.
Неправильные английские глаголы давно уже классифицированы...
Аватар для Curry
Модератор
Размещено в Английский язык
Curry вне форума
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 5.2. Делаем свой виджет
Запись от Curry размещена 07.07.2018 в 21:59. Обновил(-а) Curry 21.09.2019 в 18:47
Показов 1542 Комментарии 0

В предыдущей теме мы сделали виджет отслеживающий перемещение мыши. Сейчас я предлагаю сохранить вариант предыдущей темы для истории, и скопировать весь каталог 5.1.CustomWidget под именем 5.2.CustomWidget где и дополнить наш виджет возможностями изменения его свойств после создания, а так же установки обработчиков событий виджета.

Внимание: вначале обновите у себя версию GUI-SDL2 до...
Миниатюры
Нажмите на изображение для увеличения
Название: 5.2.CustomWidget.png
Просмотров: 1310
Размер:	18.8 Кб
ID:	4911   Нажмите на изображение для увеличения
Название: 5.2.CustomWidget_2.png
Просмотров: 1258
Размер:	24.2 Кб
ID:	4912   Нажмите на изображение для увеличения
Название: 5.2.CustomWidget_3.png
Просмотров: 465
Размер:	34.5 Кб
ID:	4913  

Вложения
Аватар для Curry
Модератор
Размещено в GUI-SDL2
Curry вне форума
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 5.1. Делаем свой виджет
Запись от Curry размещена 04.07.2018 в 00:16. Обновил(-а) Curry 21.09.2019 в 18:45
Показов 2017 Комментарии 0

(Предыдущая тема)

В GUI-SDL2 осталось ещё много виджетов про которые я пока не рассказал (и собираюсь рассказать в дальнейшем), тем не менее, сейчас подошло время продемонстрировать создание своего виджета. Вы уже имеете представление...
Миниатюры
Нажмите на изображение для увеличения
Название: 5.1.CustomWidget.png
Просмотров: 748
Размер:	18.1 Кб
ID:	4907  
Вложения
Аватар для Curry
Модератор
Размещено в GUI-SDL2
Curry вне форума
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 4. Поле ввода текста
Запись от Curry размещена 02.07.2018 в 08:55. Обновил(-а) Curry 21.09.2019 в 18:45
Показов 1592 Комментарии 0

(Предыдущая тема)

Для ввода и редактирования однострочного текста служит виджет editBox.

Как обычно, в конце package.yaml, через пустую строку, допишем ещё одно приложение
Haskell
1
2
3
4
5
6
7
  4.editBox:
    source-dirs:      4.editBox
    main:             Main.hs
    ghc-options:
    - -rtsopts
    - -threaded
    - -with-rtsopts=-N
...
Миниатюры
Нажмите на изображение для увеличения
Название: editBox.PNG
Просмотров: 921
Размер:	15.3 Кб
ID:	4906  
Вложения
Аватар для Curry
Модератор
Размещено в GUI-SDL2
Curry вне форума
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 3. Кнопки. Функциональное событийное программирование
Запись от Curry размещена 29.06.2018 в 16:19. Обновил(-а) Curry 21.09.2019 в 18:44
Показов 2792 Комментарии 0

(Предыдущая тема)

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

Рассмотрим пример с основным типом кнопок в GUI-SDL2. Это виджет button.

Как обычно, в конце package.yaml, через пустую строку, допишем ещё одно приложение
Haskell
1
2
  3.Buttons:
    source-dirs:      3.Buttons
...
Миниатюры
Нажмите на изображение для увеличения
Название: buttons.PNG
Просмотров: 1182
Размер:	35.6 Кб
ID:	4902  
Изображения
 
Вложения
Аватар для Curry
Модератор
Размещено в GUI-SDL2
Curry вне форума
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 2. Layout-ы, текст с автопереносом
Запись от Curry размещена 26.06.2018 в 22:51. Обновил(-а) Curry 21.09.2019 в 18:44
Показов 2951 Комментарии 0

(Предыдущая тема)
Layout-ы – это виджеты предназначенные для группировки других виджетов.
hLayout располагает добавляемые к нему виджеты горизонтально в ряд, а vLayout вертикально в колонку. Используем сразу оба и создадим две колонки из нескольких виджетов label.
В конце package.yaml, через пустую строку допишем ещё одно приложение
Haskell
1
2
  2.Layouts:
    source-dirs:
...
Миниатюры
Нажмите на изображение для увеличения
Название: layouts0.PNG
Просмотров: 427
Размер:	45.8 Кб
ID:	4891   Нажмите на изображение для увеличения
Название: layouts2.PNG
Просмотров: 574
Размер:	46.0 Кб
ID:	4892   Нажмите на изображение для увеличения
Название: layouts1.PNG
Просмотров: 450
Размер:	45.6 Кб
ID:	4893  

Нажмите на изображение для увеличения
Название: layouts4.PNG
Просмотров: 547
Размер:	60.6 Кб
ID:	4894  
Вложения
Аватар для Curry
Модератор
Размещено в GUI-SDL2
Curry вне форума
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 1. Каталог ресурсов, шрифты и виджет label
Запись от Curry размещена 22.06.2018 в 18:28. Обновил(-а) Curry 21.09.2019 в 18:44
Показов 1750 Комментарии 0

Как я написал ранее, библиотека SDL2, над которой сделан GUI-SDL2 не поддерживает вывод текста. Для этого существует сопутствующая библиотека SDL_ttf. Это даёт максимальную отвязку от ОС, но требует указания места расположения шрифтов используемых приложением. Разумеется, работая под Windows,...
Миниатюры
Нажмите на изображение для увеличения
Название: 1.helloworld0.PNG
Просмотров: 623
Размер:	26.9 Кб
ID:	4888   Нажмите на изображение для увеличения
Название: 1.helloworld.PNG
Просмотров: 680
Размер:	26.7 Кб
ID:	4889  
Вложения
Аватар для Curry
Модератор
Размещено в GUI-SDL2
Curry вне форума
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 0. Введение. Первый helloworld
Запись от Curry размещена 21.06.2018 в 17:01. Обновил(-а) Curry 19.07.2020 в 17:24
Показов 2569 Комментарии 0

Предпосылки к разработке GUI
Нормального, кроссплатформенного, графического интерфейса в настоящий момент для Haskell нет. Имеющиеся обёртки к сишным либам (GTK+, WxWidgets) оставляют желать лучшего, мягко говоря. С каждой новой версией и сишной библиотеки, и обёртки вылезают баги их совместимости. Особенно это заметно под Windows, т.к. под этой ОС авторы обёрток не привыкли их проверять.

Выбор
И так, я стал
...
Аватар для Curry
Модератор
Размещено в GUI-SDL2
Curry вне форума
Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru