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

中文编程 2019-05-09

linux python windows 源码 测试 Image csv github

2018_09_28_wubi_

源码库: 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, 很高兴看到原本的纯用户成为了合作者. 最近的在国内原创开源项目中使用中文命名的意义与方式一文也受了这个实例的启发.

登录 后评论
下一篇
冒顿单于
6559人浏览
2019-08-28
相关推荐
Python简介
786人浏览
2017-11-01 21:52:00
python开源项目及示例代码
1659人浏览
2017-11-15 13:09:00
学习Python
1267人浏览
2017-11-02 12:25:00
常用的Python库
665人浏览
2017-11-16 13:56:00
必学Python库 你知道多少?
1046人浏览
2018-06-09 15:05:57
python图形界面:首选Tkinter
438人浏览
2017-02-19 20:41:00
Python Tkinter GUI
692人浏览
2017-11-08 14:38:00
python
550人浏览
2012-03-12 11:17:00
python3-文本读音器
682人浏览
2018-12-22 16:25:08
0
0
0
489