如何为 GNOME3 编写简单的基于 Web 的应用程序?

如何为 GNOME3 编写简单的基于 Web 的应用程序?

我知道,GNOME3 UI 使用 HTML 和 CSS 元素来创建菜单和窗口。我如何编写简单的基于 Web 的应用程序,比如一些文本编辑器,并带有自己的文档格式和用 JS 编写的格式化工具?HTML 小部件,用于将文档保存到文件系统。

这个问题的主要原因是创建支持 Markdown 的文本编辑器......

GTK 文件菜单:

  • 打开
  • 另存为...

WebKit 内容:

<link rel="stylesheet"...>
<script src="..."></script>
<nav>...</nav>
<content>{opened file}</content>

答案1

它不使用 HTML。它使用 GTK,后者本身使用基于 CSS 的样式语言。但是,您可以使用 WebKit 来提供所需的功能。例如,以下程序将为您提供基于 WebKit 的 AskUbuntu 浏览器。

我用 Python 编写了此代码,但如果您愿意,也可以使用 JavaScript。这就是 GObject Introspection 的妙处,我们从中导入了 GTK 和 WebKit。它适用于大多数语言,并且 JavaScript 中的代码非常相似。当然,只需替换http://askubuntu.com与您的 HTML 应用程序的位置。


#!/usr/bin/env python
from gi.repository import Gtk, WebKit

win = Gtk.Window()
win.set_title("AskUbuntu!")
web = WebKit.WebView()
web.open("http://askubuntu.com")
scroller = Gtk.ScrolledWindow()
win.add(scroller)
scroller.add(web)
win.show_all()
win.connect("destroy", Gtk.main_quit)
Gtk.main()

相关内容