【问题标题】:Writing generic/native look GUI linux application编写通用/原生外观 GUI linux 应用程序
【发布时间】:2016-02-16 05:52:42
【问题描述】:

有没有一种方法可以创建在所有 DE 上都具有本机/通用外观和感觉的 Linux 应用程序?例如,如果我在 GTK 中编写应用程序,它在 Gnome 上看起来很好/原生,但在 KDE(QT)上它看起来很难看。我想知道是否有一个通用框架来创建独立于 DE 的 UI(最好有 UI 的声明性语法),它将在所有 DE 上创建本机外观和感觉?

【问题讨论】:

  • 您心目中的 Linux 应用程序是什么样的?请编辑您的问题,使其更具体,并解释您希望它做什么......
  • 你为什么要问?你不认为你的应用程序的功能比它的外观和外观更重要吗?

标签: linux qt gtk gnome kde


【解决方案1】:

我不这么认为,因为我不确定任何原生外观是否被很好地定义。然而,像 GTK(被 Gnome 和 XFCE 使用)和 Qt(被 KDE 使用)这样的工具包正在以某种方式标准化一些“常见”(或至少是常见的)外观......(事实上,Gnome 和 KDE 都定义了一些视觉和行为指南,这是不兼容的)。

您是否考虑过使用 FastCGI 或什至像 libonionWt 这样的 HTTP 服务器库来制作 Web 应用程序?它将使用通常的浏览器“外观”...

请注意,感谢 X11conventions(如 EWMH),用 GTK 编写的应用程序可以与用 Qt 编写的应用程序互操作(反之亦然),即使它们看起来很轻微不同...正如andlabs 所评论的那样,您可以为它们制作适当的主题以使它们看起来更加相似。

此外,一些 Unix 和 Linux 应用程序(甚至最近的应用程序,例如 git)大多是 command line 应用程序(它完成了大部分工作),带有一些较小的 GUI 包装器,可能与 CLI 应用程序通信(例如,通过管道)。也许您可以同样组织您的应用程序:让大部分工作由一些命令行可执行文件完成并添加一些 上面的 GUI 包装器(然后您可以在 GTK 中为 Gnome 编写一个包装器,在 Qt 中为 KDE 编写另一个包装器)。您甚至可以通过设计和开发实现您的功能的free software走得更远,将大部分 GUI 工作留给其他开发人员(并接受对您的免费软件库的改进)?

【讨论】:

  • 此外,还有各种项目允许在 GTK+ 和 Qt 上使用相同的主题,甚至可以将相同的主题移植到不同的主题规范。
  • 我在想一些“顶级”QT/GTK/etc 的东西,独立于它们,一些东西将由 GTK 在 Gnome 上呈现,并且在它们中看起来是原生的,在 KDE 上运行时它将是由 QT 等渲染。我认为 HTML 是让 UI 在所有 DE/平台上看起来都相同的唯一方法。谢谢巴西尔
  • @Bartosz:很高兴向我们解释您的想法是什么类型的应用程序!
  • 这是一个笼统的问题,我在考虑通用应用程序、文本编辑器、个人理财经理等。
  • 无法完成,因为 Gnome 和 KDE 外观指南不兼容
猜你喜欢
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多