Я вижу две проблемы с вашим кодом. Во-первых, в вашем файле kv
действие Button
неверно:
Button:
text: "Sensor 01"
on_release:
root.Grafico()
Если Button
предназначен для переключения на другой экран, оно должно быть:
Button:
text: "Sensor 01"
on_release:
root.manager.current='grafico'
[ 1117] Во-вторых, в вашем классе Grafico
у вас есть метод build()
, который никогда не вызывается. Если вы измените это с:
class Grafico(Screen):
def build(self):
box = BoxLayout()
box.add_widget(FigureCanvasKivyAgg(plt.gcf()))
return box
на:
class Grafico(Screen):
def on_enter(self, *args):
box = BoxLayout()
box.add_widget(FigureCanvasKivyAgg(plt.gcf()))
self.add_widget(box)
Я думаю, вы получите желаемый результат. Ключ в том, что метод on_enter()
вызывается, когда отображается Grafico
Screen
. Метод - это ваш код, но с добавлением self.add_widget(box)
, чтобы добавить box
на экран. Для получения дополнительной информации см. Экранную документацию .
Это кажется на поиск некоторого ORM так, чтобы Вы не беспокоились рукописным кодом SQL.
Существует сообщение здесь, которое пробегается через решения ORM для C++.
Вы также не упоминали тип приложения, которое Вы пишете, если это - настольное приложение, мобильное приложение, серверное приложение.
Мобильный: Вы являетесь лучшими от использования SQLite как Ваш механизм базы данных, потому что это может быть встроено и имеет маленькое место.
Настольное приложение: необходимо все еще рассмотреть использование SQLite здесь, но у Вас также есть опция с большинством настольных приложений, чтобы иметь всегда на соединении с Интернетом, в этом случае, можно хотеть обеспечить сетевой сервер для этой задачи. Я предлагаю использовать MySQL Apache + + PHP и использовать легкий ORM, такой как Выход, который ORM, и затем использовать стандартное сообщение HTTP называет для доступа к ресурсам.
Приложение для сервера: у Вас есть намного больше опций здесь, но я все еще предлагаю использовать MySQL Apache + + PHP + ORM, потому что я нахожу, что намного легче поддержать этот слой на языке сценария, чем в C++.
SQLite является большим: это быстро, стабильно, доказано и просто в использовании, и интегрироваться.
Существует также Метанабор, хотя кривая обучения немного крута. Но я использовал его с успехом в профессиональном проекте.
MySQL Connector/C ++ является реализацией C++ JDBC 4.0
Ссылочные клиенты, которые используют MySQL Connector/C ++: - OpenOffice - MySQL Workbench
Подробнее: http://forums.mysql.com/read.php?167,221298
Я использую MySQL или SQLite.
MySQL: Обеспечивает основанный на сервере DB, с которым должно динамично соединиться Ваше приложение.
SQLite:Provides в памяти или файле основывают DB.
Используя в памяти DB полезен для быстрой разработки как установка, и конфигурирование сервера БД только для единственного проекта является большой задачей. Но после того как у Вас есть сервер БД и выполнение, столь же легко предъявить иск этому.
В памяти DB полезен для содержания маленького DB, такого как конфигурация и т.д. В то время как для больших наборов данных сервер БД, вероятно, более практичен.
Загрузите отсюда: http://dev.mysql.com/
Загрузите отсюда: http://www.sqlite.org/
SQLite + Hiberlite - хороший и многообещающий проект. хотя я надеюсь, что он будет развиваться более активно. см. http: // code.google.com/p/hiberlite/