5

我正在考虑为 Windows/Linux/OS-X 编写一个桌面应用程序。GUI 的一项要求是我需要能够非常准确地设置它的样式。

那就是:我希望能够以我想要的方式为所有元素着色,精确定位元素像素,在元素的单边有边框,等等。与我编写 Web 应用程序时的可能性非常相似HTML + CSS 中的 UI。

我一直在环顾四周,但似乎很难找到这样的东西(+文档!)。

GTK 非常成熟,跨平台并且有很好的 C 文档。它具有多种语言的绑定,包括 Python 3,这是我现在选择的语言。即使您可以使用 CSS 对其进行样式设置,但您可以设置样式的方式和内容非常有限。

XUL 和 python 有一些第三方绑定,但他们不看,我应该如何措辞,很好的测试。

然后我可以选择在本地运行 python-web-server 和在浏览器中运行的应用程序。但我不确定我是否应该追求这一点,或者只是我内心的 Web 开发人员不想遵守。

基本上我希望能够构建一个漂亮的桌面应用程序。为什么这看起来如此困难?

4

4 回答 4

7

OS-X 与 Windows 具有非常独特和不同的外观和感觉,带有自制小部件的应用程序会感觉不同,并且通常看起来很奇怪甚至丑陋。在 Windows 98 前后,每家公司都制作了具有自己外观和感觉的应用程序。一个用于调制解调器,一个用于打印机,一个用于图形设置等等。它们本身可能看起来并不糟糕,但是当你拥有其中的几个时,加上原生的外观和感觉,整体印象就是丑陋。

所以,是的,这是您想要的网络开发人员。Web 是一种与原生 L&F 截然不同的动物,人们从一开始就已经习惯了差异、不连贯、故障、高延迟和丑陋。火焰和背景音乐。我的建议是:不要在本机应用程序上去那里。那么你不妨在网络上构建一些东西。

本机应用程序主要用于实现目标,而不是外观。快速做你想做的事(速度是最重要的功能),没有任何麻烦,淡化晦涩的外观,你将拥有一个很棒的原生应用程序!

除了 GTK,您还可以考虑使用这些工具包:

还有其他的,但我不知道也没有可以推荐的。

于 2013-01-17T12:48:18.363 回答
3

在不讨论构建具有自定义外观和感觉的应用程序的利弊的情况下,我可以说带有PyQt的Qt是非常可定制的。您可以使用 Qt 的类似 CSS 的样式表来定制小部件视觉外观的几乎所有方面。

如果您想查看示例,请查看Twyla,这是 Temboo 的可视化编程工具,它使用 Python、Qt 和 PyQt 构建并在 Windows 和 Mac(以及 Linux,尽管我们不正式支持它)上运行。(完全披露:我为 Temboo 工作。)您必须注册一个免费帐户才能下载它,但它是具有自定义样式的大型桌面应用程序的一个很好的例子。

于 2013-01-17T15:21:12.370 回答
2

在我看来,QtQuick是解决您问题的好方法。它主要是为手机开发的,但似乎也适用于桌面应用程序。

它支持许多带有动画和自定义主题的“现代”用户界面。

QtQuick 使用 QML 作为它的编程语言,它与 JavaScript + HTML 非常相似。有一个名为PySide的 API ,它允许您在 Python 3 中以非常 Python 的方式使用 Qt。它以 LGPL 的形式获得许可,因此应该与大多数项目兼容。如果需要商业许可和支持,可以使用PyQt

于 2013-01-17T13:00:15.133 回答
0

我同意乔纳斯的观点。不要重新发明轮子,坚持既定的东西。如果你真的需要创造一些视觉上更吸引人的东西,你可以尝试

这些都与 Python 无关,我敢打赌你会遇到一些问题,但它们应该满足你的要求。

于 2013-01-17T13:01:41.857 回答