Из wikipedia .
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("\n" +
"\n" +
"Hello WWW \n" +
"\n" +
"Hello WWW
\n" +
"");
}
}
Это, конечно, работает, только если вы добавили путь сборки servlet-api.jar
к Eclipse. Обычно ваш сервер приложений (например, Tomcat ) имеет правый файл jar.
Виджеты Kivy, используемые в kv
, не должны иметь метода позиционных аргументов __init__()
. FigureCanvasKivyAgg
расширяет Widget
, но имеет обязательный аргумент __init__()
, то есть цифру, поэтому вы не можете использовать это непосредственно в kv
(плохой выбор дизайна, на мой взгляд).
Но вы можете сделать хак, который может работать на вас. Следующее зависит от наличия фигуры до запуска приложения sensor
. Вы можете расширить FigureCanvasKivyAgg
как:
class MyFigure(FigureCanvasKivyAgg):
def __init__(self, **kwargs):
super(MyFigure, self).__init__(plt.gcf(), **kwargs)
Обратите внимание, что MyFigure
не имеет требуемых позиционных аргументов. Но он вызывает FigureCanvasKivyAgg.__init__()
с требуемым аргументом число. Вот почему фигура уже должна быть доступна.
Затем вы можете использовать MyFigure
в вашем файле kv
как:
<Grafico>:
BoxLayout:
MyFigure:
Button:
size_hint: 0.5, 0.09
pos_hint: {"x": .1 , "y": .2}
text: "Atualizar"
Конечно, метод on_enter()
вашего класса Grafico
должен быть удален.