2018-09-28 用Python3和tkinter開發簡單圖形界面程序


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, 很高興看到原本的純用戶成為了合作者. 最近的在國內原創開源項目中使用中文命名的意義與方式一文也受了這個實例的啟發.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM