当前位置: 首页 > 面试题库 >

Python Bokeh标记文本值无法更新

微生信鸿
2023-03-14
问题内容

我正在构建Bokeh服务器来承载SQL查询功能,因此我想在网页上打印查询状态,因此我使用了Markup小部件并更新了它的文本值。但是,“正在运行查询,请稍候…”的信息永远不会显示,完成函数执行后只能显示最后一个值。

我如何找到问题所在?

以下是我的代码的一部分:

def submit_query():
    para_status.text = "Running query, please wait..."
    cnx = mysql.connector.connect(**SQL_config)
    query = clause_build()  #call the query clause from another def
    df = pd.read_sql(query, cnx)
    cnx.close()
    if df.size >0:
        para_status.text = ("Data query is done, total " + \
        str(int(df.shape[0])) + " rows.")
        df.to_csv(dpath + './query_result.csv', index = False)
    else:
        para_status.text = "Oops, result is empty, please refine the filters and try again."

para_status = PreText(text = '')

btn_submit = Button(label = "Submit query", button_type="success")
btn_submit.on_click(submit_query)

page = column(btn_submit, para_status)

问题答案:

散景状态仅在回调 结束
时与浏览器同步。如果要进行一些更新,然后进行大量阻塞性工作,然后进行另一项更新,则需要进行拆分,以便第一个回调立即完成,然后安排其余工作在返回之后进行。最简单的方法是add_next_tick_callback

from time import sleep
from bokeh.io import curdoc
from bokeh.layouts import column
from bokeh.models import Button, Div

d = Div(text="start")

b = Button()

def work():
    sleep(2)
    d.text = "end"

def cb():
    d.text = "middle"
    curdoc().add_next_tick_callback(work)

b.on_click(cb)

curdoc().add_root(column(d, b))


 类似资料:
  • ul class=classname>xxx-2天前的GSA wb.findElement(by.xpath(“<>”)).click();列表项=HTML_List.FindElements(By.TagName(“li”));system.out.println(“元素的大小是”+items.size());对于(WebElement item:items){html_list.sendkey

  • 我在ES有个文件。一个名为“site”的字段,该字段当前的值为“elasticsearch”。我想将该字段的值更新为“StackOverflow”。我使用下面的脚本同样。 注意:我使用的是ES6.4版本 有谁能帮我弄清楚哪里出了问题吗??

  • 接口说明 如果当前位置信息不符合要求或者需要重新定义,可以调用该接口来更新相关的内容信息 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/marker/1.0.0/updateTabTxt 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 id string form 是 标注TAB ID title

  • 尝试从span元素获取数字动态文本值。我的测试是数据驱动的,所以每次运行都需要从网页中获取文本(美元金额),然后将其与Excel中的期望值进行比较。由于某种原因,我的代码不起作用。请帮忙解决。 我得HTML: 我的定位器:By PRICE=By.xpath(“//div[@class='PRICE ng-binding'][@ng-hide='calc.iscalculating']/text()

  • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加

  • 遇到错误,却不知道如何解决?我不知道为什么会出现这个错误 系统: 操作系统:Windows 10 10.0.18362 CPU:(8)x64 内存:2.67GB/15.85GB 节点:12.16.1 纱线:1.22.4 NPM:6.13.4 守望者:20200604.181126.0 Android SDK: API级别:20,23,26,27,28,29 生成工具:26.0.2、27.0.3、2