问题标签 [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.

0 投票
2 回答
214 浏览

haskell - 在三便士 gui 中使用 IORef

我正在尝试在threepenny-gui 中设置一个IORef,但我无法让它工作。在我的应用程序中, IORef 本身会更复杂,并且不会显示 - 但这个例子展示了我认为的问题。

这是我的尝试:

代码有点工作,但 outValue 不是最新的。

如何修复它以便按时更新。此外,欢迎对代码进行任何改进。

谢谢。

0 投票
0 回答
134 浏览

haskell - 在 threepenny-gui 中使用 FRP 和 IORef

我有一个在threepenny-gui(TPG)中使用IORef的小例子:

我正在尝试更改它以使用 TPG 中的反应性内容。我已经从事件 valueChange 和 keyDown 中获得了行为:

但我被困在如何使用这些行为来保存/获取 IORef 的值/从 IORef 获取值。问题是 IORef 调用将在 UI monad 中,所以如果我使用它们, Behavior 将是Behavior (UI a),但它们不会与sink. 我知道在这种情况下我不需要使用 IORef(例如货币转换示例) - 但在我的实际情况中我会这样做。

编辑:我尝试编写自己的属性:

这样我就可以设置一个属性Behavior (UI String)

代码编译但不起作用。

0 投票
0 回答
445 浏览

haskell - 使用threepenny-gui运行代码

我通过设置一个阴谋集团沙箱并运行安装了threepenny-gui

这似乎工作正常。这些示例在.cabal-sandbox/bin-folder 中找到,并且它们运行良好。

之后我查看了示例的源代码并尝试使用runhaskelland ghci-scripts 运行它们并得到以下错误

与这两个脚本。我还尝试从http://hackage.haskell.org/package/threepenny-gui-0.6.0.1/docs/Graphics-UI-Threepenny.html运行/编译示例程序,导致以下错误

我在 Haskell 中使用外部库的经验非常有限,而后者显然来自 ghc 不知道在哪里寻找这些包。

如何为 ghc 提供正确的路径并Core.hs使其正常工作?

0 投票
1 回答
154 浏览

haskell - 如何在 Threepenny-gui 0.6 中重新加载更新的文件?

Threepenny-gui 更改日志 ( https://hackage.haskell.org/package/threepenny-gui-0.6.0.1/changelog ) 写道:“函数 loadFile 和 loadDirectory 已被删除,因为我觉得 jsStatic 选项足以大多数用例。”

我的问题是:我们如何在没有 loadFile 的情况下重新加载在执行期间更新的图像?

对于 Threepenny-gui 0.5,我使用了以下代码:

当使用 Threepenny-gui 0.6 设置jsStaticJust "./.Hoed/wwwroot"时,以下代码(显然)导致我的 GUI 只显示我的应用程序启动时已经存在的初始图像:

我的 Threepenny-gui 0.5 的完整代码在这里:https ://github.com/MaartenFaddegon/Hoed/blob/master/Debug/Hoed/DemoGUI.hs

0 投票
3 回答
273 浏览

haskell - 基于threepenny-gui中列表框选择的其他元素的变化

所以我有一个简单的示例布局,其中包含一个列表框、一个按钮和一个 textarea,单击按钮会更改 textarea 中的文本:

我想要做的是让更改取决于列表框选择(例如,有"new text""First"基于"Second"选择)。

我可以很容易地通过组合userSelectionfacts作为选择

但是因为设置 textarea 的值是用

我不知道如何解决选择是Behavior.

这一切对我来说似乎有点生疏,我想知道这样做的正确方法是什么。也许我应该在列表框选择完成或更改时已经做一些事情,而不仅仅是在按下按钮时。

0 投票
3 回答
865 浏览

haskell - 具有多种单子类型的 Haskell do 子句

我在 Haskell 中使用了一个名为Threepenny-GUI的图形库。在这个库中,主函数返回一个UImonad 对象。这让我很头疼,因为当我尝试将IO值解压缩到局部变量中时,我收到抱怨不同 monad 类型的错误。

这是我的问题的一个例子。这是标准 main 函数的略微修改版本,如 Threepenny-GUI 的代码示例所示:

请注意第五行:

返回以下错误:

至于我的问题,我如何IO使用标准箭头符号 ( <-) 解包函数,并继续将这些变量作为IO ()而不是UI (),以便我可以轻松地将它们传递给其他函数。

目前,我找到的唯一解决方案是使用liftIO,但这会导致转换为UImonad 类型,而我实际上想继续使用该IO类型。

0 投票
1 回答
370 浏览

haskell - Haskell UI do 子句,如何打印?

这是对此的后续问题。我在 Haskell 中使用了一个名为Threepenny-GUI的图形库。在这个库中,主函数返回一个UImonad 对象。我正在尝试执行一个简单的打印命令,但没有成功。什么是启用打印以进行调试的正确解决方法。

代码:

错误:

0 投票
1 回答
131 浏览

haskell - 在threepenny-gui中结合事件和属性

我有一个Event String我想sink进入文本区域的内容。这工作正常,但现在我想将复选框选择的当前值组合到这个字符串。

首先,我通过使用checkedChange有效但有问题的复选框来做到这一点。如果该checked值下沉到复选框,则没有 checkedChange-Event 并且 textarea 中显示的值未正确更新。

我可以读取复选框选择,get checked但随后我遇到了组合Event String和的问题UI Bool(或者UI String因为布尔值将被转换为字符串)。

编辑:更准确地说,我想做类似的事情

where具有复选框属性eCombinedValue的原始Event String值和当前值。checked

我本可以有

但如果我有,这会失败

其他地方(没有UI.checkedChange)。

我可以使用show <$> get UI.checked checkBox,但我必须结合Event StringUI String.

0 投票
0 回答
156 浏览

user-interface - 如何使用threepenny-gui构建无限滚动列表框

你好 Haskell 和 Threepenny-GUI 社区,

我想显示一个具有无限滚动支持的ListBox 。我在 SQLite 数据库中有一个包含 100k - 1000k 行的表。我想在 ListBox 中显示行。我从这篇文章中获得了帮助。threepenny-gui-reactive-in-client-server。我让 GUI 使用两个 ListBox,一个用于页码,另一个用于该页面的实际行。

虽然我的目标是创建一个只有一个显示器的 GUI,类似于基本版本,但类似于使用 SlickGrid 的示例:http: //mleibman.github.io/SlickGrid/examples/example4-model.html

0 投票
1 回答
324 浏览

haskell - 单击“Enter”键上的按钮

我想要这样的东西:

也就是说,有没有像trigger我刚刚插入的功能一样的东西?