Как изменить расположение и позицию кнопок в графическом интерфейсе Threepenny?

#haskell #threepenny-gui

#haskell #threepenny-графический интерфейс

Вопрос:

Как мне изменить размер и положение кнопок или других элементов пользовательского интерфейса в графическом интерфейсе, созданном с помощью пакета threepenny-gui?

В документации Graphics.UI.Threepenny.Attributes перечислены некоторые функции, которые, вероятно, полезны, такие как coords :: WriteAttr Element String . Однако я не понимаю, как их использовать. В частности, я не понимаю, каким должен быть String аргумент.

Спасибо

Комментарии:

1. github.com/HeinrichApfelmus/threepenny-gui/blob/master/samples/…

2. @MichaelLitchard Я бы сказал, что это жестко. OP явно провел некоторое исследование (и не заметить папку samples — это то, что может случиться с кем угодно), и использование комбинаторов компоновки Threepenny, какими бы хорошими они ни были, не совсем понятно.

3. Спасибо за ваши ответы. Я просмотрел все примеры файлов, включая тот, что приведен в ссылке, но я не нашел ни одного примера, где был изменен размер или положение кнопок. Просматривая это снова, я все еще не вижу ни одного примера этого. Я действительно думаю, что теперь я нашел ответ на свой вопрос, но, если я правильно понимаю, я должен опубликовать это как ответ вместо комментария, поэтому я сделаю это.

4. @AR1981 Да, автоответчик — это правильная вещь, если вы решили ее самостоятельно.

5. @duplode достаточно справедливо, удален понижающий голос.

Ответ №1:

Я думаю, что мое недопонимание, которое у меня было, заключалось в том, что моя проблема на самом деле не была связана с threepenny-gui, а вместо этого является вопросом о HTML. Эта ссылка помогла мне найти ответ, который я искал:https://www.geeksforgeeks.org/html-attributes /

На всякий случай, если кто-то еще тоже борется с этим, эта строка (в основном) решает эту проблему:

 # set UI.style [("text-align", "center"),("color","red"),("font-size","30px")]
  

(Пользовательский интерфейс в UI.style взят из: import qualified Graphics.UI.Threepenny as UI )

Комментарии:

1. Я предлагаю добавить к вопросу достаточное количество окружающего кода, чтобы люди, читающие это, могли четко видеть, что вы исправили.

Ответ №2:

Комбинаторы элементов пользовательского интерфейса Threepenny более или менее напрямую переводятся в HTML, и поэтому вы должны думать в терминах HTML при создании макета с ним:

  • Атрибуты из Graphics.UI.Threepenny.Attributes , которые вы упоминаете, являются атрибутами HTML. Изменение их при определении исходного макета обычно выполняется с помощью set . (Кстати, если вам нужна ссылка для поиска того, что делают такие вещи, как атрибуты HTML, вы не можете ошибиться с MDN.)

  • Для оформления CSS вы можете использовать (#.) combinator.

  • Что касается макета, основными инструментами являются (# ) вложение HTML-элементов и grid , row и column упорядочивание div сеток на основе.

Комментарии:

1. Спасибо за этот ответ, я рассмотрю это. Я не знаю никакого HTML, поэтому не видел связи и не понял, что мне пришлось искать атрибуты HTML в Google вместо атрибутов threepenny-gui.