
Я работаю над приложением Музыка и мне нужно узнать, как получить имя пользователя и/или домашний каталог пользователей. Я гуглил некоторое время, но могу найти только переменные для C++ или BASH.
Как узнать имя пользователя или его домашний каталог?
решение1
Я не верю, что есть способ сделать это, используя только QML, без C++. Я разработчик C++ Qt, но я не очень часто использую QML, так что, возможно, есть какой-то способ, о котором я не знаю.
Я понимаю QML так, что он в основном используется для описания пользовательского интерфейса, для которого любой нетривиальный код бэкэнда реализован либо на PyQt, либо на C++. Кроме того, QML должен быть полностью кроссплатформенным, и получение User ID не является платформенно-независимой операцией.
Если бы я был на вашем месте и не хотел бы использовать C++, я бы, наверное, попробовал задать этот вопрос наПереполнение стека. Возможно, там найдется кто-то более опытный.
решение2
БлагодаряАмит Томардля этого ответа:
Вам придется получить имя пользователя в C++, а затем обменять эти данные из C++ в qml.
Объекты QML и C++ могут взаимодействовать друг с другом посредством сигналов, слотов и изменений свойств. Для объекта C++ любые данные, которые представлены метаобъектной системе Qt, то есть свойства, сигналы, слоты и методы Q_INVOKABLE, становятся доступными для QML. Со стороны QML все данные объектов QML автоматически становятся доступными для метаобъектной системы и могут быть доступны из C++.
Читатьздеськак обмениваться данными между QML и C++.