<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
原始碼
#python簡易記事本 from tkinter import * from tkinter import messagebox from tkinter import filedialog import os filename='' #檔名,全域性變數 def about(): messagebox.showinfo('提示','這是一個訊息方塊') def openFile(): global filename #使用全域性變數 filename=filedialog.askopenfilename(defaultextension='.txt') #開啟檔案,預設擴充套件名是xtxt if filename=='': #如果沒有選擇 filename=None else: root.title('FileName:'+os.path.basename(filename)) #將檔名顯示在標題列中 textPad.delete(1.0,END) #刪除文字方塊中原有內容 f=open(filename,'r',encoding='UTF-8') #獲取檔案中內容 textPad.insert(1.0,f.read()) #顯示到文字方塊 f.close() def saveOtherFile(): global filename f=filedialog.asksaveasfilename(initialfile='未命名.txt',defaultextension='.txt') #儲存檔案 filename=f root.title('FileName:' + os.path.basename(filename)) fh=open(f,'w',encoding='UTF-8') #只寫方式開啟檔案 msg=textPad.get(1.0,END) #從文字方塊中獲取內容 fh.write(msg) fh.close() root=Tk() #設定選單欄 root.title('記事本') root.geometry('500x500+100+100') #widthxheight+x+y menubar=Menu(root) root.config(menu=menubar) filemenu=Menu(menubar) #第一個選單欄 filemenu.add_command(label='開啟',accelerator='Ctrl+N',command=openFile) filemenu.add_command(label='儲存',accelerator='Ctrl+T',command=saveOtherFile) menubar.add_cascade(label='檔案',menu=filemenu) aboutmenu=Menu(menubar) aboutmenu.add_command(label='關於',accelerator='Ctrl+Y',command=about) menubar.add_cascade(label='幫助',menu=aboutmenu) status=Label(root,text='Ln20',bd=1,relief=SUNKEN,anchor=W) #底部狀態列 status.pack(side=BOTTOM,fill=X) lnlabel=Label(root,width=2,bg='antique white') #左邊邊界欄 lnlabel.pack(side=LEFT,fill=Y) textPad=Text(root,undo=True) #設定文字方塊 textPad.pack(expand=YES,fill=BOTH) scroll=Scrollbar(textPad) #右邊進度條欄 textPad.config(yscrollcommand=scroll.set) scroll.config(command=textPad.yview) scroll.pack(side=RIGHT,fill=Y) root.mainloop()#python簡易記事本 from tkinter import * from tkinter import messagebox from tkinter import filedialog import os filename='' #檔名,全域性變數 def about(): messagebox.showinfo('提示','這是一個訊息方塊') def openFile(): global filename #使用全域性變數 filename=filedialog.askopenfilename(defaultextension='.txt') #開啟檔案,預設擴充套件名是xtxt if filename=='': #如果沒有選擇 filename=None else: root.title('FileName:'+os.path.basename(filename)) #將檔名顯示在標題列中 textPad.delete(1.0,END) #刪除文字方塊中原有內容 f=open(filename,'r',encoding='UTF-8') #獲取檔案中內容 textPad.insert(1.0,f.read()) #顯示到文字方塊 f.close() def saveOtherFile(): global filename f=filedialog.asksaveasfilename(initialfile='未命名.txt',defaultextension='.txt') #儲存檔案 filename=f root.title('FileName:' + os.path.basename(filename)) fh=open(f,'w',encoding='UTF-8') #只寫方式開啟檔案 msg=textPad.get(1.0,END) #從文字方塊中獲取內容 fh.write(msg) fh.close() root=Tk() #設定選單欄 root.title('記事本') root.geometry('500x500+100+100') #widthxheight+x+y menubar=Menu(root) root.config(menu=menubar) filemenu=Menu(menubar) #第一個選單欄 filemenu.add_command(label='開啟',accelerator='Ctrl+N',command=openFile) filemenu.add_command(label='儲存',accelerator='Ctrl+T',command=saveOtherFile) menubar.add_cascade(label='檔案',menu=filemenu) aboutmenu=Menu(menubar) aboutmenu.add_command(label='關於',accelerator='Ctrl+Y',command=about) menubar.add_cascade(label='幫助',menu=aboutmenu) status=Label(root,text='Ln20',bd=1,relief=SUNKEN,anchor=W) #底部狀態列 status.pack(side=BOTTOM,fill=X) lnlabel=Label(root,width=2,bg='antique white') #左邊邊界欄 lnlabel.pack(side=LEFT,fill=Y) textPad=Text(root,undo=True) #設定文字方塊 textPad.pack(expand=YES,fill=BOTH) scroll=Scrollbar(textPad) #右邊進度條欄 textPad.config(yscrollcommand=scroll.set) scroll.config(command=textPad.yview) scroll.pack(side=RIGHT,fill=Y) root.mainloop()
執行效果:
# 畫圖程式 import os import tkinter import tkinter.simpledialog import tkinter.colorchooser import tkinter.filedialog from PIL import Image from PIL import ImageGrab def openItem(): global img filename=tkinter.filedialog.askopenfilename(title="Open",filetypes=[('Image','*.png *.gif')]) if filename: img=tkinter.PhotoImage(file=filename) canvas.create_image(400,300,image=img) def saveItem(): saveX=int(root.winfo_rootx()) saveY=int(root.winfo_rooty()) saveW=root.winfo_width() saveH=root.winfo_height() im=ImageGrab.grab((saveX,saveY,saveX+saveW,saveY+saveH)) filename=tkinter.filedialog.asksaveasfilename(title='Save',filetypes=[('Image','*.png *.gif')]) if not filename: return try: if filename[filename.index('.'):] in ['.png','.gif']==False: filename+='.png' except: filename+='.png' im.save(filename) def clearItem(): for i in canvas.find_all(): canvas.delete(i) def curveType(): penType.set(1) def lineType(): penType.set(2) def rectangleType(): penType.set(3) def textType(): global userText userText=tkinter.simpledialog.askstring(title="Please input your words", prompt='') penType.set(4) def eraseType(): penType.set(5) def chooseForeColor(): global foreColor foreColor=tkinter.colorchooser.askcolor()[1] def chooseBackColor(): global backColor backColor=tkinter.colorchooser.askcolor()[1] def onClickLeft(event): global userText canDraw.set(1) X.set(event.x) Y.set(event.y) if penType.get()==4: canvas.create_text(event.x,event.y,text=userText) def onMoveLeft(event): global lastPaint,foreColor,backColor if canDraw.get()==0: return if penType.get()==1: #繪製曲線 canvas.create_line(X.get(),Y.get(),event.x,event.y,fill=foreColor) X.set(event.x) Y.set(event.y) elif penType.get()==2: #繪製直線(預覽) try: canvas.delete(lastPaint) except: pass lastPaint=canvas.create_line(X.get(),Y.get(),event.x,event.y,fill=foreColor) elif penType.get()==3: #繪製矩形(預覽) try: canvas.delete(lastPaint) except: pass lastPaint=canvas.create_rectangle(X.get(),Y.get(),event.x,event.y,fill=backColor,outline=foreColor) elif penType.get()==5: #橡皮擦 canvas.create_rectangle(event.x-5,event.y-5,event.x+5,event.y+5,fill=backColor,outline=backColor) def onReleaseLeft(event): global lastPaint,foreColor,backColor lastPaint=0 if penType.get()==2: #擡起左鍵畫直線 canvas.create_line(X.get(),Y.get(),event.x,event.y,fill=foreColor) elif penType.get()==3: #擡起左鍵就畫矩形 canvas.create_rectangle(X.get(),Y.get(),event.x,event.y,fill=backColor,outline=foreColor) canDraw.set(0) def onReleaseRight(event): menu.post(event.x_root, event.y_root) root=tkinter.Tk() root.title("Paint") root.geometry("800x600+280+50") lastPaint=0 userText="" foreColor='black' backColor='white' X=tkinter.IntVar(value=0) Y=tkinter.IntVar(value=0) canDraw=tkinter.IntVar(value=0) #能否畫圖,1:能,0:不能 penType=tkinter.IntVar(value=1) #畫筆型別,1:曲線,2:直線,3:矩形,4:文字,5:橡皮擦 menu=tkinter.Menu(root,tearoff=0) subMenu=tkinter.Menu(menu,tearoff=0) img=tkinter.PhotoImage() canvas=tkinter.Canvas(root,bg='white',width=800,height=600) canvas.create_image(800,600,image=img) menu.add_command(label='Open',command=openItem) menu.add_command(label='Save as',command=saveItem) menu.add_separator() subMenu.add_command(label='Curve',command=curveType) subMenu.add_command(label='Line',command=lineType) subMenu.add_command(label='Rectangle',command=rectangleType) subMenu.add_command(label='Text',command=textType) subMenu.add_command(label='Erase',command=eraseType) menu.add_cascade(label='Pen Type',menu=subMenu) menu.add_separator() menu.add_command(label='Foreground Color',command=chooseForeColor) menu.add_command(label='Bakckground Color',command=chooseBackColor) menu.add_separator() menu.add_command(label='Clear',command=clearItem) canvas.bind('<Button-1>', onClickLeft) canvas.bind('<B1-Motion>',onMoveLeft) canvas.bind('<ButtonRelease-1>',onReleaseLeft) canvas.bind('<ButtonRelease-3>',onReleaseRight) canvas.pack(fill=tkinter.BOTH,expand=tkinter.YES) root.mainloop()
執行效果:
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注it145.com的更多內容!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45