欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

2018-09-28 用Python3和tkinter开发简单图形界面程序

程序员文章站 2022-06-04 20:18:43
源码库: "program in chinese/wubi_code_editor" 起因在 "这里" . 由于此项目和汉字相关, 个人也想尝试Python的图形界面开发, 于是开始尝试. 遇到的一个坑. 用户测试时, 发现png图片加载不了, 后发现是由于tkinter版本问题: "Tkinter ......

2018-09-28 用Python3和tkinter开发简单图形界面程序

源码库:

起因在. 由于此项目和汉字相关, 个人也想尝试python的图形界面开发, 于是开始尝试.

遇到的一个坑. 用户测试时, 发现png图片加载不了, 后发现是由于tkinter版本问题: tkinter.photoimage doesn't not support png image

现在还处于原型状态, 两百多行代码都在一个文件中. 几个主要问题:

源码节选:

读入csv源数据:

    def 读入源数据文件(self, 文件名):
        # 官方文档参考: https://docs.python.org/3/library/csv.html#module-contents
        with open(文件名, newline='') as 源数据文件:
            源数据读取器 = csv.reader(源数据文件, delimiter=',')
            for 行 in 源数据读取器:
                self.字符列表.append(行)

导出csv文件:

    def 导出文件(self):
        with open(常量_修改后文件, 'w', newline='') as 目标文件:
            写文件 = csv.writer(目标文件, delimiter=',')
            for 字符 in self.字符列表:
                写文件.writerow(字符)
        print("修改保存到: " + 常量_修改后文件)

创建图片显示:

    # 显示图片, 参考: https://*.com/questions/35024118/how-to-load-an-image-into-a-python-3-4-tkinter-window
    def 创建图片显示(self, 区域, 字体名, 位置):
        字体区 = frame(区域)
        字体区.pack(side = 位置)
        字体提示 = label(字体区, text = 字体名)
        字体提示.pack()
        图片路径 = 常量_图片主目录 + 常量_图片路径[字体名] + self.图片子路径
        print(图片路径)
        try:
            图片 = photoimage(file=图片路径)
        except:
            print("找不到图片")
            图片 = photoimage()
        图片显示 = label(字体区, image=图片)
        图片显示.image = 图片
        图片显示.pack()
        return 图片显示

----------- 10/1/2018 更新 ------------

功能和重构基本完成. 还剩下一个问题"文件路径只支持linux/mac, 还需支持windows", 由于题主只在linux下使用, 暂不打算实现.

经过添加测试, 发现了几个bug.

承蒙题主宣传: 感谢 xuanwu 制作五笔编码编校软件 python 版 - v2ex

---------- 12/24/2018 更新 ----------

上个月题主提交了好几个pr, 很高兴看到原本的纯用户成为了合作者. 最近的一文也受了这个实例的启发.