问题标签 [kde-plasma]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kde - 在 NixOS 上安装 kdesu
在程序/链接上设置高级属性以作为另一个用户启动时,它会引发错误:
我尝试使用以下方法安装 kdesu:
我也尝试安装nix-env -iA nixos.kde-cli-tools
,但这也不起作用。
关于如何在 NixOS 上安装 kdesu 有什么建议吗?
linux - 如何在 KDE Plasma 上使用两个 Qt5 版本来避免冲突?
我正在使用 Opensuse Leap 42.3,以及使用Qt 5.6.2的 KDE Plasma 5.8.7 。
我想使用最新的 Qt 版本(问这个问题时为5.10)进行开发,我已经将它安装在/usr/local/Qt5.10/
. 我添加了
Qt5.10 库路径(关于qdbus。
我试图在 /usr/lib64 中创建符号链接,如下所示:/usr/local/Qt5.10/5.10.0/gcc_64/lib/
/etc/ld.so.conf
但这也产生了同样的问题。我还在LD_LIBRARY_PATH
~/.profile 中添加了一个条目,但遇到了同样的问题。我可以export LD_LIBRARY_PATH="/usr/local/Qt5.10/5.10.0/gcc_64/lib/"
在终端中运行我的 Qt5.10 应用程序,但这并不方便。这样做的正确方法是什么?
javascript - 使用 eval() 解析 JSON 数据的问题
对于使用交换 api url 和 json 键从交换 API 获取价格的小部件:
这可以在某些 API 上正常工作,例如:
但它在某些情况下不起作用,例如:
我收到带有“预期令牌”的 eval() 错误。
我该如何解决这个问题?
plasmoid - Plasmoid 不会附着在桌面上
尝试学习 Plasma5(特别是 5.12)等离子体开发的艺术。我渴望成为一名小型 KDE 文档贡献者。
这是一个简单的 plasmoid,单击时会弹出并显示一条消息。它在 plasmoidviewer 内运行良好,并使用 kpackagetool5 正确“编译”。它显示在可用小部件的面板中,但我无法将它拖到我的桌面上。我已经把(非常简单的)源放在了 Github 上;希望有人愿意看看。
https://github.com/bundito/hellomoid
非常感谢。我正在尝试在学习时记录下来。但我显然有很多东西要学。
linux - Linux Plasma 5.12.3 授权在锁定屏幕上失败
我需要再次安装我的操作系统(Sabayon,基于带有内核 4.15 和 Plasma 5.12.3 的 Gentoo)。到目前为止安装很顺利。当我启动到登录屏幕时,我可以使用我的密码正常登录,然后 Plasma DE 出现。
当我锁定屏幕时,我会看到一张壁纸和一个输入密码以解锁的字段。一切如以前所知。但是当我现在尝试输入我的登录密码时,就像从第一次启动时一样,我收到一条消息,上面写着:“授权失败”。这种行为是可重现的。
回到我的 Plasma 会话的唯一方法是打开一个终端 (Ctrl-Alt-F2),以 root 身份登录并输入命令:
然后我需要再次切换回终端 1 (Ctrl-Alt-F1) 并且屏幕被解锁,这样我就回到了 Plasma。屏幕储物柜出了什么问题,我的程序无法识别我的密码?顺便提一句。我使用 SDDM 作为显示管理器。
qml - 无法在 Component.onCompleted 之外动态更改 KDE Plasma 5 Widget Expandable FullRepresentation 组件大小
我正在编写一个小部件,可以通过单击将其扩展为 FullRepresentation:
我有一个更新其内容并将它们放入 Gridview 的函数。update 函数首先从 Component.onCompleted 中调用,但之后我每次用户更新数据时都会调用它。问题是我输入可扩展 FullRepresentation 的数据可能包含不同数量的元素,这些元素我放入 gridview 并根据此数字计算其 AND FullRepresentation 的大小。
但是,我发现我只能从 Component.onCompleted 块中指定表示的大小。当我在它之外调用更新函数时,它不会改变大小,无论大小是否在项目属性中定义,如下所示:
...我只尝试从 UpdateFunction 更改 no_items 属性,或者只是尝试从中运行两个方程。
有没有办法解决?我还尝试了implicitHeight 和implicitWidth 属性。我真的很希望能够动态调整主要可扩展表示的大小,不得不对其进行硬编码然后有很多未填充的空间感觉很糟糕。
编辑:这是请求的示例:
根.qml
紧凑的.qml
完整的.qml
localization - 为什么人们使用 i18n() 和 i18nc() 而不是 qsTr()?
我对翻译 QML 小部件完全陌生。我看到人们在他们的源代码中使用 i18n() 和 i18nc()。我发现这里记录的命令:
https://techbase.kde.org/Development/Tutorials/Localization/i18n#QML
但是 QML 文档只列出了 qsTr() 方法。我猜其他 2 个命令是特定于 KDE 的?
我真的必须在 C++ 中涉足那些 KDeclarative 等对象吗?我不太确定它是如何工作的。我的小部件不使用任何这些,只使用 qml 文件和一些用于外部函数的 javascript 文件。
我发现我可以让翻译与 PoEdit 一起使用,但仅适用于 .js 文件,如果我定义一个自定义源关键字(函数名称)以从中提取,但前提是它们是 i18n 和 i18nc(qsTr 不工作)以及使用我从工作小部件(即 /contents/locale/language_key/ plasma_applet_widget_id .mo)中窃取的目录结构时。遗憾的是,由于解析器 getText 无法读取 qml 文件,因此该解决方案还不够好。
现在,我知道 qt 提供了一个命令 lupdate,从源代码中提取这些关键字,但反过来,它只适用于 qsTr。尝试将 -tr-function-alias qsTr=(i18n) 作为参数传递是行不通的。使用 qsTr() 我可以拥有一个不错的 .ts 文件,但是尝试将其转换为 po 并使用前面提到的技巧是行不通的。
不过我想知道,如果 lupdate 似乎无法提取这些关键字,为什么可下载小部件的开发人员似乎都在其源代码中使用 i18n 和 i18nc。
lockscreen - SDDM 忽略自定义配置 (/etc/sddm.conf)
我一直在尝试为 SDDM 配置一个新主题,但是无论我在设置窗口中进行更改还是在 /etc/sddm.conf 中手动进行更改,嵌入式默认欢迎程序仍然是我在启动时得到的,并且默认锁定屏幕仍然是我睡后得到的那个。我在 Fedora 28、KDE 5.13.5、内核 4.19 上,试图将Chili设置为我的锁屏和欢迎程序。通过 KDE 的 SDDM 设置 GUI 安装了它,检查了安装目录以及它应该在的位置。这是我的 /etc/sddm.conf :
使用sddm-greeter --test-mode --theme /usr/share/sddm/themes/plasma-chili/
. 我无法访问看起来很正常的 /var/lib/ssdm,而且我在任何地方都没有 sddm.conf.d 文件夹。更令人费解的是,我在来这里之前已经读过一些关于这个问题的信息,而且我从 2014 年就看到人们有同样的问题,但我在任何地方都找不到解决办法。