问题标签 [threepenny-gui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - Threepenny-GUI: Drag'n'Drop - 访问 DragData
我目前正在努力在调用DragData
时访问被拖动元素的on UI.drop
。我有这样的事情:
有人可以帮助我吗?提前致谢!
问候,莫里茨
haskell - Threepenny-GUI:以字符串形式获取属性值
有没有办法将元素的属性值(尤其是 id)作为字符串获取?例如以下行导致“()”:
由于attr
返回 a WriteAttr
,get
可能无法正常工作。有解决方法吗?
提前致谢!
问候
haskell - Threepenny-gui:通过“文件”输入获取文件路径
我将为我的控制台工具编写简单的前端。一般来说,它需要一些参数和输入文件路径,以便进一步打开和处理。我的想法是放置类似的东西
然后通过'value'获取选择的文件路径。但似乎由于安全原因,浏览器不提供所选文件的完整路径。
是否可以使用threepenny-gui 放置任何文件选择器?
haskell - Haskell - 无法在三便士中生成和使用图像文件
我会尽量具体。我正在尝试使用 Haskell、Threepenny 和 DOT 制作图形可视化 GUI
我已经创建了修改图形的按钮,并且我试图将修改后的图形保存在图像中,并在每次修改图形时加载该图像
但是,我可以运行 Threepenny gui,但我不能编写图像并更新它抛出的函数。
RunGraphviz 函数返回 IO () 并且 Threepenny GUI 使用 UI ()。我正在尝试使用“liftIO”,但它正在生成一些错误“Prelude head.empty list”。这是片段
haskell - 在三便士 gui 画布上绘制图像
我的画布有问题。我修改了 Canvas.hs 示例程序以在画布上绘制图像
在画布设置代码之后;这里供参考:
drawImg 在哪里
这应该与在原始版本的代码中绘制图像的点击功能相同。
这段代码的实际行为是一个空白画布,就像在原始示例中单击绘制图像按钮之前一样。我认为它应该在加载时绘制图像。为什么是这样?我应该将此调用添加到设置画布的行吗?
haskell - 如何更改 Threepenny GUI 中的按钮布局和位置?
如何在使用 threepenny-gui 包创建的 GUI 中更改按钮或其他 UI 元素的大小和位置?
的文档Graphics.UI.Threepenny.Attributes
列出了一些可能有用的函数,例如coords :: WriteAttr Element String
. 但是,我不明白如何使用它们。具体来说,我不明白这个String
论点应该是什么。
谢谢
haskell - Threenpenny gui - 单击时捕获鼠标坐标并使用它们构建一些状态
我想达到的目标:
每次用户单击画布时,从该单击中获取鼠标坐标以构造 aPoint x y
并将此状态存储在 a[Point]
中,以便稍后当用户单击按钮时,我可以将其[Point]
用作某些功能的输入。
我做了什么:
我已经定义了一个Point
数据类型,它有一个像这样的单值构造函数:
我已经设置了一个三便士UI
(monad?)来定义用户界面,一个简单的400 x 400 canvas
和一个button
:
然后定义了在 main 中运行 UI 的函数:
所以,最初我在用户点击的地方绘制点。Point x y
通过在 lambda 参数中构造 a ,我相当容易地实现了这一点mousedown
构造 a并将其绘制到那里的画布上我已经解决了该代码,因此我忽略了该代码,并且我不相信我当前的问题与此有关(即在该 lambda 范围内构造和绘制一个点)。
我不想绘制然后丢弃Point
对该 lambda 范围的绑定,我只想将该点存储在一个列表中。然后,我希望能够在用户单击按钮时阅读该列表。
我已经对 FRP 样式Behaviour
和Event
(http://hackage.haskell.org/package/threepenny-gui-0.4.2.0/docs/Reactive-Threepenny.html )进行了一些研究,我认为这是某种东西这有助于创建类似 redux 模式的东西,但我的大脑开始融化。
基于另一个 StackOverflow 帖子(混合 Threepenny-Gui 和 StateT),我认为我应该连接到 Threepenny UI 事件以创建一个事件流,然后用于accumB
将该流中的每个事件累积到一些状态行为的流中,然后将该状态行为转换回事件流,并在最终流上应用并观察以更新 UI(很简单,我认为...... xD)
至少这是我收集到的,我在链接的 StackOverflow 问题的答案中测试了代码,它确实解决了该特定问题中提出的问题。但是,我需要捕获x y
鼠标在mousedown
事件流上的位置(该片段中没有涵盖)并使用它来构造一个Point
流,这就是我被卡住的地方。我尝试根据我的目的修改接受的答案代码来实现它,但遇到了大量类型错误,因为我显然误解了这些部分是如何组合在一起的。
这是我在链接的 StackOverflow 问题上修改已接受答案中的代码的尝试:
有人能解释一下吗?我在墙上:-(
haskell - 三便士 GUI - 使用带有画布的接收器
我正在学习如何使用 Threepenny GUI,我已经从画布连接到点击事件流,将该事件流映射到 Point 流并应用accumB
到[]
该流Event Point
以获得Behaviour [Point]
其中Point
:
以及将点击Event
流映射到的代码Behaviour [Point]
:
然后,我想将这些点绘制到我已在setup
方法中添加到 HTML 正文中的画布元素上。
我已经设法从这样的行为中得出要点:
但问题是我希望每次用户单击画布时都将点绘制到画布上,而不需要用户去单击按钮。或者,换句话说,我想将绘制点函数组合到点流中。
根据我的研究,它看起来sink
可能是我需要使用的函数,以将 FRP 样式中的 UI 的行为和突变联系在一起。
但是,我很难理解如何将它们拼凑在一起(即sink
对于这个给定的用例,应用程序会是什么样子?)。目前是否有可能用 Threepenny 做到这一点?
haskell - threepenny-gui: 关闭窗口
是否可以关闭窗口threepenny-gui
?我没有在包中找到任何类似的 Haskell-land 函数。我也尝试runFunction
了两种类型的 s Core
,Foreign.JavaScript
但都失败了,因为这两种Window
类型都不是可编组的(没有ToJS
实例),我需要 window 实例来调用close()
它。
haskell - “无法加载包‘regex-posix’……未知符号‘regerror’”
对于一个新项目,我一直在尝试构建threepenny-gui
包,我过去做过很多次,没有任何麻烦。然而,这一次,我遇到了一个不寻常的错误消息:
现在,一个快速的谷歌显示这个错误消息之前已经看到过 - 在 2010 年,之后它通过 GHC 更新修复。我尝试更改 GHC 版本(上面的输出是使用 GHC 8.8.4),但它也不适用于 8.8.3 或 8.8.2。我还尝试删除regex-posix
¹ 并重新安装它,但这也不起作用。在这一点上,我必须承认这个错误已经完全难倒了我;有没有其他人知道可能是什么原因造成的,如果有,我该如何解决?
¹ 具体来说,我删除了C:\sr\snapshots\14724cfd\lib\x86_64-windows-ghc-8.8.4\regex-posix-0.96.0.0-11M5Q2Uki3ACYikP2WXOuq
and C:\sr\snapshots\14724cfd\pkgdb\regex-posix-0.96.0.0-11M5Q2Uki3ACYikP2WXOuq.conf
,并且做了ghc-pkg unregister regex-posix
.