Skip to main content

使用 JSON 轻松制作 Tkinter 应用程序。

项目描述

易通

下载

在 JSON 的帮助下创建 Tkinter 应用程序!

test = EasyTkObject()
test.create_root()
test.open_file("json/test.json")
test.reading_from_json()
test.start_root()

安装

如果您的环境中没有安装 tkinter,请安装它:

pip install tkintertable

然后安装这个包。

pip install easy-tk

用法

JSON结构:
{
...,
  "Frame1": {
    "layout": "grid",
    "methods": ["confirm_click","add_click","set.."],
    "master": "FrameContainer",
    "config": {"config_key":"config_value","config_key":"var:something"},
    "grid": {"sticky": "NSEW"},
    "newRow": false
  },...
}

您从小部件的名称开始,例如: Frame1:{...},"LabelUsername":{...},"ButtonConfirm":{...},...

布局- 您可以使用网格或打包或放置 "layout":"grid""layout:"pack"

方法- 在此列表中,您可以包含您将使用的方法的名称,这在 Python 部分中进行了解释

master - 此小部件属于哪个 master,请注意使用哪个布局管理器以及该 master 存在

config - 例如:"config":{"text":"TEST"}或者如果您导入了变量,则只需调用"config":{"some_key":"var:something"}

网格- 如果您决定使用网格作为布局,然后用适当的数据填充它,您不必包含行和列,例如: "Button1":{...},Button2":{...},Button3":{..., "newRow":true },

Button1 开启row=0,column=0,Button2 开启row=0,column=1,Button3 开启_row=1_,column=0。但如果需要,您也可以包含行和列。考虑到这一点,下一列来自您/没有/指定列的位置。

pack - 如果布局是 pack,则在此处包含属性,或者将其留空。

如果您使用 pack,那么即使您没有任何值,也必须将其包含在 JSON 对象中。例如:

...,
"Canvas": {
    "master": "Frame0",
    "layout": "pack",
    "pack": {"side":"left", "fill":"both", "expand":true},
    "config": {},
    "methods": [1]
  },
"Scrollbar": {
    "master": "Frame0",
    "layout": "pack",
    "pack": {},
    "config": {"orient": "vertical"},
    "methods": [2]
},
...

两个小部件都可以工作。这同样适用于网格。

newRow - 如果布局是网格,则使用布尔值。

Python
from easy_tk import EasyTkObject

此类具有将 JSON“转换”为 Tkinter 应用程序所需的所有方法。EasyTkObject 主要使用 EasyTk 方法,但方式不同。您可以覆盖它们。

  • create_root()
  • get(name,obj=True)- 如果obj是一个小部件的对象,False那么你将获得 EasyTkChild 对象
  • import_methods(methods={})- 将所有方法放在 dict 中,然后在 json 列表中调用该方法。...,"methods":["on_check_btn","set_style_btns","exit_app",...]
  • import_modules(modules={})- 把你所有的模块放在这里,你可以包含你自己的小部件,默认是这个["Frame","Entry","Button","Label","Separator","Radiobutton","Canvas","Scrollbar"],你可以扩展它
  • import_variables(variables={})- 只包括你需要配置的变量,调用它们"var:some_key"
  • open_file(file)- 设置你的 json 文件 EasyTk
  • reading_from_json()- 将每个小部件添加到屏幕,应用所有配置值,调用您包含的所有方法
  • add_just_one(file,key)- 从 json 中只添加一个小部件(再次确保存在 master),例如add_just_one("json/test.json","Canvas5")
  • easy_factory()- EasyTk 对象的工厂
其他信息

github 上你可以找到 helpers 文件夹,有在整个窗口中添加滚动条的快捷方式。以后我会添加更多你可以使用的。

使用示例

足球视频编辑器-python

变化

1.0.7.1 在创建 master 时增加了对旧版本的支持

1.0.6.4 添加了在屏幕上显示小部件之前删除小部件和更改 json 中的键的方法

1.0.6.3 修复了加载一个小部件时出现的模块错误

1.0.6.2 - 修复了使用 json 中的变量进行网格/包

1.0.6 - 您不必在与 json 连接的方法中指定 all_widgets 参数

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

easy_tk-1.0.7.3.tar.gz (10.1 kB 查看哈希

已上传 source

内置分布

easy_tk-1.0.7.3-py3-none-any.whl (8.9 kB 查看哈希

已上传 py3