いつも、お世話になっております。
リンクを参考に、Tkinterを使用して、Windowsで言うところのNotepad的なGUIを作りたいと考えております
下記がコードなのですが、Macで実行すると、画像のように検索がVersionとAboutの上に出てきます
コードのどの部分が、Searchを表示しているのか、判断がつかないので、ご教授お願いします
開発環境
Mac: macOS Catalina バージョン10.15.1
Python: 3.7.5
Tkinter: 8.5(使用したコマンド $python3 -m tkinter)
Python3
1import tkinter 2import os 3from tkinter import * 4from tkinter.filedialog import * 5from tkinter.messagebox import * 6 7class KazuPad: 8 r = Tk() 9 10 file = None 11 12 height = 0 13 width = 0 14 txtArea = Text(r) 15 menuBar = Menu(r) 16 fileMenu = Menu(menuBar, tearoff=0) 17 helpMenu = Menu(menuBar, tearoff=0) 18 19 scroll = Scrollbar(txtArea) 20 21 def run(self): 22 self.r.mainloop() 23 24 #NEW functin 25 def newFile(self): 26 self.r.title('Untitled') 27 self.file = None 28 self.txtArea.delete(1.0,END) 29 #OPEN Function 30 def openFile(self): 31 self.file = askopenfilename(defaultextension='.txt') 32 if self.file == '': 33 self.file = None 34 else: 35 self.r.title(os.path.basename(self.file) + 'Sakuta') 36 self.txtArea.delete(1.0,END) 37 file = open(self.file,'r') 38 self.txtArea.insert(1.0,file.read()) 39 file.close() 40 41 #Save Function 42 def saveFile(self): 43 if self.file == None: 44 self.file = asksaveasfilename(initialfile='Untitled.txt') 45 if self.file == '': 46 self.file = None 47 else: 48 file = open(self.file,'w') 49 file.write(self.txtArea.get(1.0,END)) 50 file.close() 51 self.r.title(os.path.basename(self.file) + 'Sakuta') 52 else: 53 file = open(self.file,"w") 54 file.write(self.txtArea.get(1.0,END)) 55 file.close() 56 #Close Function 57 def closeFile(self): 58 self.r.destroy() 59 60 def showVersion(self): 61 showinfo('Version','KazuPad 2.0') 62 63 def showAbout(self): 64 showinfo('About', 'Author: Kazu N') 65 66 def showHowToUse(self): 67 showinfo('How To Use', 'Menu has 4 Functions\nNew: Create a new file in the display area.\nOpen: Choose a text file to display in the text area.\nSave: The contents of text area in a text file.\nClose: Exit the application.') 68 69 #Overall of Functions 70 def __init__(self, **kwangs): 71 72 try: 73 self.r.wm_ocpmbitmap('KazuPad Test') 74 except: 75 pass 76 77 try: 78 self.height = kwangs['height'] 79 except KeyError: 80 pass 81 82 try: 83 self.width = kwangs['width'] 84 except KeyError: 85 pass 86 87 self.r.title("Untitled") 88 89 self.txtArea.grid(sticky = N + E + S + W) 90 scHeight = self.r.winfo_screenheight() 91 scWidth = self.r.winfo_screenwidth() 92 top = (scHeight / 2) - (self.height /2) 93 left = (scWidth / 2) - (self.width / 2) 94 self.r.geometry('%dx%d+%d+%d' % (self.width, self.height, left, top)) 95 self.r.grid_rowconfigure(0, weight=1) 96 self.r.grid_columnconfigure(0, weight=1) 97 98 self.r.config(menu=self.menuBar) 99 self.menuBar.add_cascade(label='File', menu = self.fileMenu) 100 self.fileMenu.add_command(label = 'New', command = self.newFile) 101 self.fileMenu.add_command(label = 'Open', command = self.openFile) 102 self.fileMenu.add_command(label = 'Save', command = self.saveFile) 103 self.fileMenu.add_command(label = 'Close', command = self.closeFile) 104 105 self.txtArea.grid(sticky = N + E + S + W) 106 107 #helpMenu 108 self.menuBar.add_cascade(label='Help', menu=self.helpMenu) 109 self.helpMenu.add_command(label='Version', command=self.showVersion) 110 self.helpMenu.add_command(label='About', command=self.showAbout) 111 self.helpMenu.add_command(label='How To Use', command=self.showHowToUse) 112 113 self.scroll.pack(side=RIGHT,fill=Y) 114 self.scroll.config(command=self.txtArea.yview) 115 116#Sakuta Setting 117KazuPad = KazuPad(height=300, width=500) 118KazuPad.run() 119
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。