首页 > 解决方案 > 那里真的没有适当的 R 消息框功能吗?

问题描述

我正在 Windows 7 上开发一个 R Shiny 应用程序,并希望它以某种方式与用户交流,主要以消息框的形式输出一些优化结果。

我首先尝试winDialog()了函数,但它似乎只有三个参数,因此它并不是真正可定制的。我本来想至少给出现的消息框一个正确的标题而不是基本的信息标题,但似乎没有这样的论点。此外,我也不喜欢winDialog()完全依赖平台;如果可能的话,如果我将应用程序提供给使用 Apple 产品的人,我会坚持使用不会崩溃的功能......

然后我尝试使用包中的tkmessagebox()功能,tcltk但遗憾的是每次消息框都出现在正在运行的应用程序后面,这首先给我的印象是我的应用程序突然冻结,直到我最终发现消息框隐藏在应用程序后面。这对用户来说非常非常不切实际,每次都必须最小化应用程序窗口,所以这也没有解决我的问题。

winDialog(type ="ok", message = paste("Initial profit value is: ", toString(MAX_PROFIT)) )

library(tcltk)
tkmessageBox(title = "Initial profit calculation", message = toString(MAX_PROFIT), icon = "info", type = "ok")

我还遇到了去年在 StackOverflow 上的一个线程,提到了与该tkmessageBox函数完全相同的问题(您可以在此处找到该线程:MessageBox in R)。显然,对于消失的 R 消息框似乎没有任何直接的解决方案,或者至少到目前为止我还没有找到任何信息。

标签: rwindowsshinydialogmessagebox

解决方案


我使用闪亮警报包。它运作良好,并且完全符合要求。这是一个简洁的链接:https ://deanattali.com/blog/shinyalert-package/

此外,还有一个模态对话框选项。这就像浏览器中要求允许向您发送通知的消息框一样。链接:https ://shiny.rstudio.com/reference/shiny/latest/modalDialog.html


推荐阅读