LINUX.ORG.RU

Существует ли реестр в KDE/Qt?

 , ,


0

1

Такой же, как GSettings для Gnome?

Реестр:
1) позволяет читать/писать данные в бинарном виде, что быстрее, чем в текстовом
2) обеспечивает синхронизацию доступа к данным, атомарность/транзакционность изменений (например при ошибках при установке)

Если в KDE/Qt реестра нет, то что используется в качестве иерархической базы данных? Подходит ли для этого какая-либо реализация LDAP?

UPD: Нашел какой-то QSettings. Эта реализация как-то совместима с GSettings? У них есть общая используемая библиотека и как она называется (точнее как называется её проект/пакет)?

UPD2: испольуют ли GSettings и QSettings библиотеку libconfig ?

UPD3: почему на LOR есть тэг gsettings, но нет тега qsettings?

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 4)

Ответ на: комментарий от Deleted

всюду конфиги в каком либо виде хранятся. В кде например в текстовом. На скорость обработки это возможно влияет. Но чуть, что - их можно очень легко отредактировать руками.

Kazun3500
()

Нет, у кде все конфиги plaintext

Midael ★★★★★
()

В QSettings возможно хранение иерархического дерева значений. Этот класс для этого вроде как и предназначен. Он может работать как с INI-файлами (кроссплатформенно), так и с reg-файлами, но только под Windows.

Что самое интересное, дерево с любой глубиной иерархии может сохраняться в INI-файл, и считываться из него, несмотря на то, что у INI-файла всего два уровня иерархии - имя раздела и имя самой переменной.

Выглядит это так. Допустим, есть переменная, полный древовидный путь к которой выглядит так:

section/subSection/miniSection/valueName

Тогда команда:
settings.setValue("section/subSection/miniSection/valueName", 100);

Сгенерирует в INI-представлении такой код:
[section]
subSection/miniSection/valueName=100

Xintrea ★★★★★
()
Ответ на: комментарий от novitchok

с каких пор xml стал «бинарным видом»(С)?

С каких пор разметка определяет тип хранимых данных?

zgen ★★★★★
()

позволяет читать/писать данные в бинарном виде, что быстрее, чем в текстовом

Пруфца бы.

обеспечивает синхронизацию доступа к данным, атомарность/транзакционность изменений

QSettings тоже.

испольуют ли GSettings и QSettings библиотеку libconfig

QSettings - нет.

RazrFalcon ★★★★★
()

Существует ли реестр в KDE/Qt?

Нет и это минус.

Если в KDE/Qt реестра нет, то что используется в качестве иерархической базы данных? Подходит ли для этого какая-либо реализация LDAP?

Текстовые файлы расширенного Qt’ом формата INI, взятого из Windows. Для более сложных приложений применяется конфигурация на XML, JSON, собственных вариантах конфигурации и различных легковесных и тяжёлых БД.

UPD: Нашел какой-то QSettings. Эта реализация как-то совместима с GSettings? У них есть общая используемая библиотека и как она называется (точнее как называется её проект/пакет)?

Нет. QSettings это класс-интерфейс, обеспечивающий кросс-платформенную работу с конфигурационными файлами форматов INI и CONF, а также с системными хранилищами конфигураций в различных системах, например, тем же реестром в Windows. Прослойка, которая абстрагирует программиста от тонкостей механизма сохранения конфигураций. Реализация собственная, так как Qt вещь в себе и зависит от минимума числа общесистемных библиотек. И это очень правильно.

испольуют ли GSettings и QSettings библиотеку libconfig ?

Нет в любом случае.

UPD3: почему на LOR есть тэг gsettings, но нет тега qsettings?

Потому что QSettings это технический класс внутри Qt, её API. А GSettings это не только технология, но и одноимённая утилита.

EXL ★★★★★
()
Ответ на: комментарий от RazrFalcon

Пруфца бы.

А что, преобразования string к int и обратно в вашей вселенной стали уже бесплатные?

В GSettings, кстати это как раз преимуществом заявляется:

GSettings are a nice way to manage your application’s settings. Those settings are stored in binary form for fast retrieval, and can be manipulated outside of your application as well using specific tools.

EXL ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.