我正在用qml寫kde plasmoid。這是一個小部件,使用操作者提供的API顯示我國移動用戶的移動使用情況。爲了獲取數據,必須使用電話號碼+密碼進行請求,並且我想使用kwallet將「帳戶」存儲在此窗口小部件的某個kwallet文件夾中。 問題是,如果甚至有可能,我該如何在基於qml/javascript的小部件中使用kwallet?我在網上找不到任何信息。我發現這個使用kwallet的plasmoid:http://kde-look.org/content/show.php/gmail-plasmoid?content=101229 但這個是用python編寫的,並且正在導入一些python kde庫,所以我不能真正使用它。任何建議,甚至鏈接到一些有用的api會很好。qml訪問kde的kwallet
0
A
回答
0
可以在命令行上使用qdbus訪問Kwallet。而且很顯然,有一種方法,使在Javascript等離子體團的命令行調用使用擴展LaunchApp
,像這樣:
Button {
onButtonClick: plasmoid.runCommand("qdbus",
["<add-missing-parameters-here>"]);
}
對於擴展工作,你需要將此行添加到您的桌面文件:
X-Plasma-RequiredExtensions=LaunchApp
確切的命令行調用去是這樣的:
撥打電話打開錢包
qdbus org.kde.kwalletd /modules/kwalletd org.kde.KWallet.open <wallet name> 0 "<your application name>"
使用返回的ID接取密碼
qdbus org.kde.kwalletd /modules/kwalletd readPasswordList <wallet-id> kmail "<entry name>" "<your application name>"
我還沒有嘗試過這一點,但在理論上它可以工作。
鏈接:
相關問題
- 1. 訪問modelData在QML
- 2. 訪問QML中的Q_ENUM
- 3. 從控件訪問QML StackView
- 4. 如何訪問和QML
- 5. 從C++訪問QML WebView
- 6. 使用cpp代碼從加載的qml訪問qml對象
- 7. 從QML訪問QStandardItemModel的項目
- 8. 訪問深層次的QML信號
- 9. 訪問結構的結構裏面QML
- 10. 從C++訪問現有的QML組件
- 11. QT/QML C++從QML訪問QList程序崩潰
- 12. 無法訪問QML變量/ ID全球
- 13. C++ invokeMethod無法訪問QML方法
- 14. QML訪問非可調用函數
- 15. Qml TableView - TableViewColumn - ListModel - 訪問嵌套對象
- 16. QML - 通過模型訪問QList數據
- 17. 在QML中訪問父函數
- 18. 從QML/Javascript訪問Amazon AWS服務
- 19. QML,如何訪問子元對象
- 20. 從WebView訪問QWebPage對象QML元素
- 21. 動態加載另一個qml文件中的qml組件並訪問該組件的qml類型屬性
- 22. QML Keys.onEnterPressed問題
- 23. QML:問題而renderring QML屏幕
- 24. 如何從QML中的listview中訪問currentItem的角色?
- 25. 如何從qmlRegisterSingletonType的回調中訪問QML加載的項目?
- 26. 如何訪問QML中的C++對象的列表屬性
- 27. 如何訪問綁定到QML中的屬性的組件
- 28. QML ListModel onDataChanged問題
- 29. QML - MouseArea/MouseEvent問題
- 30. QML中的Listmodel問題
謝謝,我發現了一些代碼晚些時候也使用runCommand,但沒有嘗試它,因爲我決定我可能會在python中編寫dataengine,然後從qml中使用它。但現在我要試試這個以及:) – cotko