GUI----记事本项目

匿名 (未验证) 提交于 2019-12-02 23:49:02

记事本项目开发

"""  开发记事本软件 """ # -*- coding:utf-8 -*- from tkinter import * from tkinter.colorchooser import * from tkinter.filedialog import * from tkinter.messagebox import *  class Application(Frame):      def __init__(self,master=None):         super().__init__(master)         self.master = master         self.textpad = None         self.filename = None         self.pack()         self.createWidget()        def createWidget(self):         # 创建主菜单         menubar = Menu(root)          menuFile = Menu(menubar)         menuEdit = Menu(menubar)         menuHelp = Menu(menubar)          # 将子菜单加入主菜单栏         menubar.add_cascade(label="文本(F)", menu=menuFile)         menubar.add_cascade(label="编辑(E)", menu=menuEdit)         menubar.add_cascade(label="帮助(H)", menu=menuHelp)         # 添加菜单项         menuFile.add_command(label="新建文件",accelerator="ctrl+n",command=self.newfile)         menuFile.add_command(label="打开文件",accelerator="ctrl+o",command=self.openfile)         menuFile.add_command(label="保存文件",accelerator="ctrl+s",command=self.savefile)         menuFile.add_separator()   # 添加分割线         menuFile.add_command(label="退出文件",accelerator="ctrl+q",command=self.quitfile)          #创建快捷菜单栏         self.menubar2 = Menu(root)         self.menubar2.add_command(label="背景颜色",command=self.openAskColor)          menuedit = Menu(self.menubar2, tearoff=0)  # tearoff 为1是这个菜单可以独立出来,0是不可以         menuedit.add_command(label="剪切")         menuedit.add_command(label="复制")         menuedit.add_command(label="粘贴")          self.menubar2.add_cascade(label="编辑", menu=menuedit)           # 将主菜单栏加入根窗口         root["menu"] = menubar          #文本编辑区         self.textpad = Text(root,width=80,height=50)         self.textpad.pack()          w1 = Text(root, width=50, height=30)         w1.pack()         root.bind("<Button-3>", self.test1)         root.bind("<Control-n>",lambda event:self.newfile())         root.bind("<Control-o>",lambda event:self.openfile())         root.bind("<Control-s>",lambda event:self.savefile())         root.bind("<Control-q>",lambda event:self.quit())      def test1(self,event):         # 菜单在鼠标右键单击的坐标处显示         self.menubar2.post(event.x_root,event.y_root)     def newfile(self):         c1 = self.textpad.get(1.0, END)         if not c1.isspace():             a1=askquestion(title="提示",message="此文件是否要保存")             if a1 == "yes":                 self.savefile()         self.textpad.delete(1.0, END)      def openfile(self):         self.textpad.delete("1.0",END)         with askopenfile(title="选择要打开的文本文件") as f:             self.textpad.insert(INSERT, f.read())             self.filename = f.name             print(f.name)      def savefile(self):         c1 = self.textpad.get(1.0, END)         c1.isspace()         self.filename = asksaveasfilename(title="另存为", initialfile="未命名.txt",                                           filetypes=[("文本文档", "*.txt")], defaultextension='.txt')          with open(self.filename, "w") as f:             f.write(c1)      def quitfile(self):         a1 = askquestion(title="提示", message="此文件是否要保存")         if a1 == "yes":             self.savefile()         root.quit()      def openAskColor(self):         s1 = askcolor(color="red", title="选择背景色")         self.textpad.config(bg=s1[1])   if __name__ == '__main__':     root = Tk();root.geometry("450x300+300+200")     root.title("Mr_huang的简易记事本")     app = Application(master=root)     root.mainloop() 

【项目】将 python 程序打包成 exe 文件

  1. 安装 pyinstaller 模块

    击+即可。
  2. 在 pycharm 的 Terminal 终端输入如下命令:
    pyinstaller -F xxxx.py
    【注】相关参数如下:
    XXXX.py
    -F 打包成一个 exe 文件
    -w 使用窗口,无控制台
    -c 使用控制台,无窗口
    -D 创建一个目录,里面包含 exe 以及其他一些依赖性文件
  3. 在项目的 dist 目录下可以看到生成了 exe 文件,直接在 windows 系统中使用即可。
    【注】exe 文件本质是将 python 解释器和程序打包到了一起,这样我们执行程序时就不用
    管 windows 系统是不是有 python 解释器。
    【注】pyinstaller 目前只支持 python3.6。如果你是 python3.7 可能会执行失败。
文章来源: https://blog.csdn.net/weixin_44342108/article/details/96718546
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!