中文编程
首发于中文编程
用Python3和tkinter开发简单图形界面程序

用Python3和tkinter开发简单图形界面程序

源码库: program-in-chinese/wubi_code_editor

起因在这里. 由于此项目和汉字相关, 个人也想尝试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://stackoverflow.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, 很高兴看到原本的纯用户成为了合作者. 最近的在国内原创开源项目中使用中文命名的意义与方式一文也受了这个实例的启发.

编辑于 2018-12-25

文章被以下专栏收录

    在所有编程语言和领域中尝试编写中文代码,开发相关工具,总结经验,一致代码风格。包括中文命名,汉化现有语言,创造中文语法的编程语言等等。作为最熟悉的母语,用来编写代码会让代码更容易被自己和母语相同的其他开发者理解。基于英文的编程语言和框架中,使用中文命名有时有技术问题。希望这里为后人趟雷,填坑。多数现有API是英文的,这里也会对其中一些常用的进行汉化。当然,这里也会对基于中文的编程语言进行探讨。包括汉化基于英文的编程语言,以及创造新的编程语言。

    在学Python时,必然会走弯路,有人走丢了,有人走出了。你,又在哪里?

    Python相关的文章、资源、课程、资讯等分享