记事本项目开发
""" 开发记事本软件 """ # -*- 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 文件
- 安装 pyinstaller 模块
击+即可。 - 在 pycharm 的 Terminal 终端输入如下命令:
pyinstaller -F xxxx.py
【注】相关参数如下:
XXXX.py)
-F 打包成一个 exe 文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含 exe 以及其他一些依赖性文件 - 在项目的 dist 目录下可以看到生成了 exe 文件,直接在 windows 系统中使用即可。
【注】exe 文件本质是将 python 解释器和程序打包到了一起,这样我们执行程序时就不用
管 windows 系统是不是有 python 解释器。
【注】pyinstaller 目前只支持 python3.6。如果你是 python3.7 可能会执行失败。
文章来源: https://blog.csdn.net/weixin_44342108/article/details/96718546