问题标签 [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 - 在三便士 gui 中使用 IORef
我正在尝试在threepenny-gui 中设置一个IORef,但我无法让它工作。在我的应用程序中, IORef 本身会更复杂,并且不会显示 - 但这个例子展示了我认为的问题。
这是我的尝试:
代码有点工作,但 outValue 不是最新的。
如何修复它以便按时更新。此外,欢迎对代码进行任何改进。
谢谢。
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)
:
代码编译但不起作用。
haskell - 使用threepenny-gui运行代码
我通过设置一个阴谋集团沙箱并运行安装了threepenny-gui
这似乎工作正常。这些示例在.cabal-sandbox/bin
-folder 中找到,并且它们运行良好。
之后我查看了示例的源代码并尝试使用runhaskell
and ghci
-scripts 运行它们并得到以下错误
与这两个脚本。我还尝试从http://hackage.haskell.org/package/threepenny-gui-0.6.0.1/docs/Graphics-UI-Threepenny.html运行/编译示例程序,导致以下错误
我在 Haskell 中使用外部库的经验非常有限,而后者显然来自 ghc 不知道在哪里寻找这些包。
如何为 ghc 提供正确的路径并Core.hs
使其正常工作?
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 设置jsStatic
为Just "./.Hoed/wwwroot"
时,以下代码(显然)导致我的 GUI 只显示我的应用程序启动时已经存在的初始图像:
我的 Threepenny-gui 0.5 的完整代码在这里:https ://github.com/MaartenFaddegon/Hoed/blob/master/Debug/Hoed/DemoGUI.hs
haskell - 基于threepenny-gui中列表框选择的其他元素的变化
所以我有一个简单的示例布局,其中包含一个列表框、一个按钮和一个 textarea,单击按钮会更改 textarea 中的文本:
我想要做的是让更改取决于列表框选择(例如,有"new text"
或"First"
基于"Second"
选择)。
我可以很容易地通过组合userSelection
和facts
作为选择
但是因为设置 textarea 的值是用
我不知道如何解决选择是Behavior
.
这一切对我来说似乎有点生疏,我想知道这样做的正确方法是什么。也许我应该在列表框选择完成或更改时已经做一些事情,而不仅仅是在按下按钮时。
haskell - 具有多种单子类型的 Haskell do 子句
我在 Haskell 中使用了一个名为Threepenny-GUI的图形库。在这个库中,主函数返回一个UI
monad 对象。这让我很头疼,因为当我尝试将IO
值解压缩到局部变量中时,我收到抱怨不同 monad 类型的错误。
这是我的问题的一个例子。这是标准 main 函数的略微修改版本,如 Threepenny-GUI 的代码示例所示:
请注意第五行:
返回以下错误:
至于我的问题,我如何IO
使用标准箭头符号 ( <-
) 解包函数,并继续将这些变量作为IO ()
而不是UI ()
,以便我可以轻松地将它们传递给其他函数。
目前,我找到的唯一解决方案是使用liftIO
,但这会导致转换为UI
monad 类型,而我实际上想继续使用该IO
类型。
haskell - Haskell UI do 子句,如何打印?
这是对此的后续问题。我在 Haskell 中使用了一个名为Threepenny-GUI的图形库。在这个库中,主函数返回一个UI
monad 对象。我正在尝试执行一个简单的打印命令,但没有成功。什么是启用打印以进行调试的正确解决方法。
代码:
错误:
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 String
和UI String
.
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。
haskell - 单击“Enter”键上的按钮
我想要这样的东西:
也就是说,有没有像trigger
我刚刚插入的功能一样的东西?