我找不到正确的术语来表述这个问题,所以请编辑。
在 Eye of Gnome 和大多数图像查看器应用中,如果我有一个图像目录(image_1.png、...image_n.png),那么当我单击该目录中的图像时,我将看到图像预览。然后,在图像打开时,如果我单击键盘上的左/右箭头,它将用该目录中的上一个/下一个图像替换查看器的内容。我不明白当我单击左/右箭头时 Eye of Gnome(或其他图像查看器)如何获取下一个文件名。获取下一个文件名的机制是什么?
我之所以询问,是因为我需要一个不同文件类型的“查看器”,并且希望具有相同的功能。
我已经创建了桌面文件并将其放在 /usr/share/applications 中。这意味着当我双击此自定义文件类型时,它会在我生成的程序中正确打开。但我不明白如何在 .desktop 文件或 C++ 应用程序本身中启用对左/右箭头的处理。作为参考,以下是 .desktop 文件:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=gnome-panel-launcher
Name[en_US]=Custom Viewer
Exec=/home/bob/Desktop/custom_viewer/bin/custom_viewer %F
Name=Custom Viewer
Icon=gnome-panel-launcher
答案1
事实上,浏览不同文件的功能不是由操作系统提供的,而是由应用程序eog
本身提供的。
在您的 C++ 应用程序中,您需要自己实现这一点。您需要编写代码,让您的程序读取打开文件所在文件夹的内容。然后,您需要实现按键绑定,让您的应用程序加载列表中的下一个或上一个文件。