Как изменить тип настроек и положение приложения kivy? - PullRequest
0 голосов
/ 19 ноября 2018

Я не смог выяснить, как изменить тип отображаемой панели настроек, используемой в моем приложении kivy.В настоящее время я использую следующий код для создания панели:

def build_config(self, config):
    config.read("settings.ini")
    App.build_config(self, config)

def build_settings(self, settings):
    settings.size_hint = (0.8, 0.8)
    settings.pos = (200,200)
    settings.interface_cls = SettingsWithSidebar()
    settings.add_json_panel("General Settings", self.config,
                            filename="settings_general.json")
    settings.add_json_panel("Analysis", self.config,
                            filename="settings_analysis.json")
    App.build_settings(self, settings)

Это дает мне стандартную панель SettingsWithSidebar, которая выглядит относительно некрасиво.Я хочу изменить это на стандартную панель Settings, которая выглядит намного лучше, но не могу понять, как это сделать.Я посмотрел на docs и обнаружил свойство interface_cls, но изменение его значения на Settings() или SettingsWithSidebar(), похоже, ничего не дает.

Моя вторая проблема заключается в том, что я не знаю, как установить положение панели настроек в соответствии с положением приложения (200 200 являются заполнителями).Я знаю, как это можно сделать с помощью kv-language, но я не знаю, как я могу ссылаться на pos приложения до его создания.Я хочу привязать центр панели настроек к центру окна приложения, но не могу найти источники для выполнения этой задачи.

1 Ответ

0 голосов
/ 21 ноября 2018

Хорошо, я нашел решение своей проблемы: чтобы использовать любую другую панель настроек, кроме стандартной, нужно изменить свойство settings_cls класса App , а не сами настройки.Это можно сделать, добавив

self.settings_cls = Settings # Desired settings class

к методу сборки приложения.

Чтобы изменить положение всплывающего окна «Настройки», необходимо изменить pos_hint объекта «Настройки», присвоенногоМетод build_settings класса приложения.Пример: чтобы изменить размер окна настроек на 90% от размера приложения, а затем расположить его в центре приложения, необходимо добавить:

settings.pos_hint = ({"center_x": .5, "center_y": .5})
settings.size_hint = (0.9, 0.9)

в метод build_settings (где настройкиобъект настроек, переданный методу) перед вызовом App.build_settings(self, settings).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...