【问题标题】:Making GUI with only python without framework?只用没有框架的python制作GUI?
【发布时间】:2017-01-31 23:17:53
【问题描述】:
  1. 是否可以在没有 python 框架(如 tinker 或 pygame)帮助的情况下创建用户界面并仅使用原版 python 代码?如果是,怎么做?
  2. 能否简单介绍一下 python 框架的工作原理?
  3. 不同python框架的代码有区别吗?
  4. 如果计算机没有安装框架,如果程序使用框架,程序是否仍然可以运行? 非常感谢

【问题讨论】:

  • 很好奇为什么需要这样做,正如文档所说:“Tkinter 模块(“Tk 接口”)是 Tk GUI 工具包的标准 Python 接口。Tk 和 Tkinter 都是在大多数 Unix 平台以及 Windows 系统上都可用"
  • 请注意,您应该提出单独的问题,而且每个问题都过于宽泛。简而言之:1)是的,但这取决于目标系统和对“vanilla python code”的限制 - tkinter is part of the standard library。 2)不,取决于你的意思。 3)是的,这就是为什么它们是不同的框架。 4) 仅当您安装了框架。

标签: python user-interface frameworks


【解决方案1】:

如果您想要尽可能少的外部依赖项(但仍然是 GUI),我强烈建议您使用像 bottle(单个文件)这样的 Web 微框架并利用用户的浏览器进行渲染。

  1. 您可以通过设置网络服务器并使用用户的浏览器来呈现它,从而使用 HTML 制作没有任何外部框架的 GUI。
  2. 对于没有外部框架的浏览器-GUI:根据您是否了解 JavaScript,您可以使用 XML-RPC(xmlrpc.server+http.server 和浏览器中的 JS)或 WSGI(wsgiref)(例如该页面)
  3. 是的,完全是。
  4. 当然,如果您不为这种情况做准备,您将无法运行没有框架等不可或缺的程序的程序 - 但您可以分发包含框架的程序。

对于 XML-RPC

import xmlrpc.server
import http.server

class MyHandler(xmlrpc.server.SimpleXMLRPCRequestHandler,http.server.SimpleHTTPRequestHandler):
    pass 

此处理程序将从当前工作目录提供文件(您的实际 HTML-UI 和 JS 用于通信(有几个用于 JS 的 XMP-RPC 库)),但它也可以像在 XML-RPC-Server example 中一样使用来粘合您的代码和 UI 结合在一起。

【讨论】:

    【解决方案2】:
    1. 是的,毕竟 tinker 和 pygame 只是打包为模块的 python 类。
    2. Python 框架是一组经过预先测试和可重用的模块,允许您使用和扩展,因此您不必重新发明轮子。
    3. 是的,框架在可用性和代码方面会有所不同。
    4. 计算机将始终需要依赖项,但您可以通过各种方式打包这些依赖项,也就是创建一个包含所有依赖项以供程序运行的包。

    【讨论】:

    • 我只想添加到 1.,通过直接使用 OpenGL 之类的东西,没有这样的框架是可能的。从某种意义上说,框架只是在其周围创建了一个很好的层,以使其更易于访问,并根据框架的大小,通过添加小部件和功能来构建它。
    猜你喜欢
    • 2013-02-20
    • 2012-03-28
    • 1970-01-01
    • 2011-12-03
    • 2012-03-07
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多