代码在shell中运行,但从fi运行时出现“找不到变量”错误

2024-09-28 05:24:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用this guy's code创建一个显示输入值的拨号盘。在

当我将每一行复制到pythonshell时,它运行得很好。所以我想是时候给它增加更多的功能了。但是在shell中运行的代码在从文件运行时不起作用。它为变量“showHr”提供“找不到变量”错误

代码是:

import os

import gobject
import gtk
import pygtk
import sys
import webkit
pygtk.require('2.0')

URL = "/home/antimony/Oscillator Code/dials2-js.svg"
gobject.threads_init()
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_resizable(True)
window.connect("destroy", lambda window, event: gtk.main_quit())
web_view = webkit.WebView()
web_view.open(URL)

vbox = gtk.VBox(False, 0)
vbox.add(web_view)
window.add(vbox)
window.show_all()
hr1  = 23000/(1*500)
web_view.execute_script("showHr(%d)" % hr1)
gtk.main()

它实际上是把hr1的值输入到SVG文件中的函数showHr。在

其功能是:

^{pr2}$

我对SVG一无所知,所以我不知道哪里出了问题,也不知道是SVG文件的错误还是什么。当它在壳里运行时,它为什么找不到“showHr”?:秒

更新1 -我对另一个程序也有同样的问题。这次是PyQt4。那么问题可能与代码无关。我的pythonshell有问题吗?如果是这样,谁能告诉我怎么修理它吗?--好吧,这个已经修好了。我可能做了一些非常愚蠢的事情,比如运行一个不同的文件或其他什么,因为当我尝试了一段时间后,它就起作用了。我不知道我做错了什么。在

不过之前的问题依然存在,我需要帮助!

更新2 -似乎出现错误的代码行是:

web_view.execute_script("showHr(%d)" % hr1)

我知道,要用Javascript调用函数,您应该将其写为“showHr(150);”(实际上,在SVG文件中调用时,这个调用是有效的)。即使在修改代码为现在读取

web_view.execute_script("showHr(%d);" % hr1)

它不起作用。它仍然会给出相同的错误:

Message: console message: undefined @0: ReferenceError: Can't find variable: showHr

不管怎样把它指向SVG文件?在


Tags: 文件代码svgimportviewwebgtkexecute
1条回答
网友
1楼 · 发布于 2024-09-28 05:24:42

我不能告诉你原因,但我自己也遇到了类似的问题。经过一番修补,我发现:

web_view.execute_script("'showHr(%d)'" % hr1)

相关问题 更多 >

    热门问题