【发布时间】:2021-06-09 15:15:29
【问题描述】:
这是一个简单的代码,其中我使用 tkinter 创建了一个文本区域和一个菜单,其中有一个查找和替换选项,如果用户单击它,则会出现一个 gui,用户将在其中输入一个单词他们想要替换的人,然后是他们想要替换的词,但到目前为止我刚刚创建了一个 gui。但是如何用我创建的文本区域的文本用用户给出的单词替换单词。
from tkinter import *
import tkinter.font as font
from tkinter import messagebox
root = Tk()
root.title("MyCodeEditor")
editor = Text()
editor.pack()
menu_bar = Menu(root)
def find_replace():
f = Tk()
f.title("Find and Replace")
find_label = Label(f,text = "Find : ")
replace_label = Label(f,text = "Replace : ")
find_label.grid(row = 0 , column = 0)
replace_label.grid(row = 3 , column = 0)
global find_enter
global replace_enter
find_enter = Entry(f,fg = "black" , background = "blue",borderwidth = 5,width = 40)
replace_enter = Entry(f,fg = "black" , background = "blue", borderwidth = 5, width =40 )
find_enter.grid(row = 0 , column = 1)
replace_enter.grid(row = 3 , column = 1)
btn_replace = Button(f,text = 'Replace',fg = 'black',command = None)
btn_replace.grid(row=0, column = 5)
format_bar = Menu(menu_bar , tearoff = 0)
format_bar.add_command(label = 'Find and Replace',command = find_replace)
menu_bar.add_cascade(label = 'Format' ,menu = format_bar )
root.config(menu = menu_bar)
root.mainloop()
【问题讨论】:
-
有多种方法可以做到这一点。我建议你看看this。您还知道如何从
find_enter和replace_enter中获取用户的输入吗? -
现在创建一个函数,它接受两个参数:text_to_search、word_to_replace、replacement_word 并返回替换后的文本
-
@Tarik 你真的不需要为此创建一个函数。使用起来更简单:
text_to_search.replace(word_to_replace, replacing_word) -
@TheLizzard 我认为它不起作用,因为这将替换 find 内的 word 并替换 gui 而不是 text area 内的。请运行我提供的代码,然后您会更好地理解我的意思。
-
好吧,一旦你准备好这个函数,你就可以用你从 GUI 得到的文本调用它,得到结果并将它放在文本区域中。
标签: python python-3.x tkinter