Форум программистов, компьютерный форум, киберфорум
GUI-SDL2
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
GUI-SDL2 GUI-SDL2 – GUI написанный на Haskell
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 5.2. Делаем свой виджет
Запись от Curry размещена 07.07.2018 в 21:59
Показов 1840 Комментарии 0

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

Внимание: вначале обновите у себя версию GUI-SDL2 до последней - 0.1.22. (На прошлом занятии была ещё 0.1.21.)
...
Аватар для Curry
Модератор
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 5.1. Делаем свой виджет
Запись от Curry размещена 04.07.2018 в 00:16
Показов 2417 Комментарии 0

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

В GUI-SDL2 осталось ещё много виджетов про которые я пока не рассказал (и собираюсь рассказать в дальнейшем), тем не менее, сейчас подошло время продемонстрировать создание своего виджета. Вы уже имеете представление что такое виджет в GUI-SDL2, как его создавать,...
Аватар для Curry
Модератор
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 4. Поле ввода текста
Запись от Curry размещена 02.07.2018 в 08:55
Показов 1946 Комментарии 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
Заметили что пришлось добавить ещё опции компилятора?...
Аватар для Curry
Модератор
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 3. Кнопки. Функциональное событийное программирование
Запись от Curry размещена 29.06.2018 в 16:19
Показов 3296 Комментарии 0

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

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

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

Как обычно, в конце package.yaml, через пустую строку, допишем ещё одно приложение
Haskell
1
2
3
  3.Buttons:
    source-dirs:      3.Buttons
    main:             Main.hs
cоздадим каталог 3.Buttons в корневом каталоге...
Аватар для Curry
Модератор
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 2. Layout-ы, текст с автопереносом
Запись от Curry размещена 26.06.2018 в 22:51
Показов 3286 Комментарии 0

(Предыдущая тема)
Layout-ы – это виджеты предназначенные для группировки других виджетов.
hLayout располагает добавляемые к нему виджеты горизонтально в ряд, а vLayout вертикально в колонку. Используем сразу оба и создадим две колонки из нескольких виджетов label.
В конце package.yaml, через пустую строку допишем ещё одно приложение
Haskell
1
2
3
4
5
  2.Layouts:
    source-dirs:      2.Layouts
    main:             Main.hs
    dependencies:
    - text-show
...
Аватар для Curry
Модератор
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 1. Каталог ресурсов, шрифты и виджет label
Запись от Curry размещена 22.06.2018 в 18:28
Показов 2060 Комментарии 0

Как я написал ранее, библиотека SDL2, над которой сделан GUI-SDL2 не поддерживает вывод текста. Для этого существует сопутствующая библиотека SDL_ttf. Это даёт максимальную отвязку от ОС, но требует указания места расположения шрифтов используемых приложением. Разумеется, работая под Windows, можно определить где хранятся шрифты в этой ОС (так...
Аватар для Curry
Модератор
Старый
GUI-SDL2 – GUI написанный на Haskell. Часть 0. Введение. Первый helloworld
Запись от Curry размещена 21.06.2018 в 17:01
Показов 2981 Комментарии 0

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

Выбор
И так, я стал выбирать как можно более низкоуровневую кроссплатформенную
...
Аватар для Curry
Модератор
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru