Решения для персистентности для C++ (с базой данных SQL)?

Я вижу две проблемы с вашим кодом. Во-первых, в вашем файле 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 на экран. Для получения дополнительной информации см. Экранную документацию .

8
задан Touko 21 January 2009 в 12:33
поделиться

5 ответов

Это кажется на поиск некоторого ORM так, чтобы Вы не беспокоились рукописным кодом SQL.

Существует сообщение здесь, которое пробегается через решения ORM для C++.

Вы также не упоминали тип приложения, которое Вы пишете, если это - настольное приложение, мобильное приложение, серверное приложение.

Мобильный: Вы являетесь лучшими от использования SQLite как Ваш механизм базы данных, потому что это может быть встроено и имеет маленькое место.

Настольное приложение: необходимо все еще рассмотреть использование SQLite здесь, но у Вас также есть опция с большинством настольных приложений, чтобы иметь всегда на соединении с Интернетом, в этом случае, можно хотеть обеспечить сетевой сервер для этой задачи. Я предлагаю использовать MySQL Apache + + PHP и использовать легкий ORM, такой как Выход, который ORM, и затем использовать стандартное сообщение HTTP называет для доступа к ресурсам.

Приложение для сервера: у Вас есть намного больше опций здесь, но я все еще предлагаю использовать MySQL Apache + + PHP + ORM, потому что я нахожу, что намного легче поддержать этот слой на языке сценария, чем в C++.

5
ответ дан 5 December 2019 в 12:13
поделиться

SQLite является большим: это быстро, стабильно, доказано и просто в использовании, и интегрироваться.

Существует также Метанабор, хотя кривая обучения немного крута. Но я использовал его с успехом в профессиональном проекте.

7
ответ дан 5 December 2019 в 12:13
поделиться

MySQL Connector/C ++ является реализацией C++ JDBC 4.0

Ссылочные клиенты, которые используют MySQL Connector/C ++: - OpenOffice - MySQL Workbench

Подробнее: http://forums.mysql.com/read.php?167,221298

1
ответ дан 5 December 2019 в 12:13
поделиться

Я использую MySQL или SQLite.

MySQL: Обеспечивает основанный на сервере DB, с которым должно динамично соединиться Ваше приложение.
SQLite:Provides в памяти или файле основывают DB.

Используя в памяти DB полезен для быстрой разработки как установка, и конфигурирование сервера БД только для единственного проекта является большой задачей. Но после того как у Вас есть сервер БД и выполнение, столь же легко предъявить иск этому.

В памяти DB полезен для содержания маленького DB, такого как конфигурация и т.д. В то время как для больших наборов данных сервер БД, вероятно, более практичен.

Загрузите отсюда: http://dev.mysql.com/
Загрузите отсюда: http://www.sqlite.org/

0
ответ дан 5 December 2019 в 12:13
поделиться

SQLite + Hiberlite - хороший и многообещающий проект. хотя я надеюсь, что он будет развиваться более активно. см. http: // code.google.com/p/hiberlite/

1
ответ дан 5 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: