Tkinter--GUI布局

 

http://blog.youkuaiyun.com/xxb2008
#-*- coding: utf-8 -*-

"""
Tkconstants.py -- 常量类

Tkinter布局

pack 参数说明
fill -- x 横向填充(默认,各组件自上而下), y竖向填充(各组件自左往右),both都填充
expand -- 1 父外框大小改变时,自动扩充大小,0为false
side -- left right top bottom 停靠在父组件的哪一边上
anchor -- 对齐方式

grid  参数说明
row -- 行号
rowspan -- 合并行
column -- 列号
columnspan -- 合并列
sticky -- 组件紧靠所在单元格的某一边角

grid填充(自动缩放)--同 pack的 expand属性
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
frame.grid(row=0, column=0, sticky="nsew")

下面是程序融合了 pack填充(自动缩放)和 grid填充(自动缩放)与及 多组件整合布局
http://blog.youkuaiyun.com/xxb2008
"""

import Tkinter


class MainFrame(Tkinter.Frame):
    def __init__(self, master=None):
        Tkinter.Frame.__init__(self, master)
        self.grid(row=0, column=0, sticky="nsew")
        self.createFrame()

    def createFrame(self):
        self.frameTop = Tkinter.Frame(self)
        self.frameTop.pack(fill="x")

        self.labelFilePaths = Tkinter.Label(self.frameTop, text="文件路径:", width=10)
        self.labelFilePaths.pack(fill="y", expand=0, side=Tkinter.LEFT)

        self.textFilePaths = Tkinter.Text(self.frameTop, height=10)
        self.textFilePaths.pack(fill="both", expand=1, side=Tkinter.LEFT)

        self.frameCenter = Tkinter.Frame(self)
        self.frameCenter.pack(fill="x")

        self.frameBottom = Tkinter.Frame(self)
        self.frameBottom.pack(fill="x")



        #self.labelFilePaths = Tkinter.Label(self, text="文件路径:", width=10)
        #self.labelFilePaths.grid(row=0, column=0, sticky="w")

        #self.textFilePaths = Tkinter.Text(self.frame, height=10)
        #self.textFilePaths.pack(fill="both")
        #self.textFilePaths.grid(row=1, column=0, sticky="nsew")


def main():
    root = Tkinter.Tk()
    root.columnconfigure(0, weight=1)
    root.rowconfigure(0, weight=1)
    root.geometry('640x360')  #设置了主窗口的初始大小960x540

    app = MainFrame(root)
    app.mainloop()


if __name__ == "__main__":
    main()


 

 

### Tkinter Designer 工具使用教程 #### 工具概述 Tkinter-Designer 是一种用于加速 Python GUI 开发的开源工具。该工具能够通过 Figma 设计软件中的设计文件,借助 Figma API 自动生成对应的 Python 代码和文件,从而简化开发流程并提升效率[^2]。 --- #### 安装方法 为了安装和运行 Tkinter-Designer,需按照以下方式操作: 1. **克隆仓库** 首先需要从 GitHub 上获取该项目源码: ```bash git clone https://github.com/ParthJadhav/Tkinter-Designer.git ``` 2. **进入目录** 切换到刚克隆下来的项目根目录下: ```bash cd Tkinter-Designer ``` 3. **安装依赖项** 执行命令以安装所需的库和模块: ```bash pip3 install -r requirements.txt ``` 4. **启动程序** 运行 `tkinter_designer.py` 或者指定的入口脚本(如 designer.py),具体取决于实际环境设置: ```bash python3 tkinter_designer.py ``` 如果遇到任何错误,请确认已正确完成上述步骤,并检查是否有遗漏的依赖包或权限问题[^1]^。 --- #### 使用说明 以下是关于如何使用 Tkinter Designer 的基本指南: 1. **准备 Figma 文件** 创建一个包含界面布局的设计文档,并将其上传至 Figma 平台。确保此文件可以被访问并通过 API 调用读取数据。 2. **连接 Figma 和 Tkinter Designer** 在首次运行时,可能需要输入有效的 Figma Token 来授权应用访问您的账户资源。这一步骤对于调用 Figma API 至关重要[^3]^。 3. **生成代码** 启动工具后,选择目标 Figma 文档作为输入源,随后执行解析过程即可获得对应生成的 Tkinter 代码片段以及关联组件定义等内容。 4. **调整和完善功能** 自动化生成的部分仅提供基础框架结构;后续可根据需求进一步扩展交互逻辑或其他高级特性实现完整的应用程序版本。 --- #### 常见问题解答 (FAQ) - **Q:** 是否支持其他图形编辑器? **A:** 当前官方推荐搭配 Figma 使用,因为其具备强大的插件生态系统与开放接口便于集成第三方服务^。 - **Q:** 我找不到配置选项在哪里修改默认参数? **A:** 参考提供的资料提到过存在单独的一个 JSON 类型格式化的配置文件用来存储全局设定值,比如路径映射关系等等[^3]^。 - **Q:** 性能表现怎么样?适合大规模复杂场景吗? **A:** 对于中小型规模的应用来说已经足够胜任日常任务处理要求了,但对于极其庞大的工程则可能会面临一定挑战. --- ```python import json from tkinter import * def load_config(): """加载配置文件""" with open('config.json', 'r') as f: config_data = json.load(f) return config_data['output_path'] if __name__ == "__main__": output_dir = load_config() root = Tk() Label(root, text="欢迎来到 Tkinter Designer!").pack(pady=20) Button(root, text="点击这里", command=lambda: print("按钮已被触发")).pack(padx=10, pady=5) mainloop() ``` 以上是一个简单的例子展示如何结合自动生成的结果构建更丰富的用户体验效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值