首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Tkinter从文本宽度中只删除一行的最后一个字符

问如何使用Tkinter从文本宽度中只删除一行的最后一个字符
EN

Stack Overflow用户
提问于 2020-07-01 01:01:22
回答 1查看 107关注 0票数 0

最近,我制作了一个字典,要求您输入字符串,并显示其中包含字符串的所有单词,然后将其打印在文本小部件中。我使用了那个Tkinter,但是,每行都有一个字符(IDK,那是什么字符),我想把它删除。

代码语言:javascript
复制
def dico():
    global dico_search
    global text
    dico = Tk()

    dico.title("dictionnaire français")
    dico.geometry("1024x480")
    dico.config(background='black')
    dico.minsize(480, 360)
    
    scrollbar = Scrollbar(dico)
    text = Text(dico , yscrollcommand=scrollbar.set)
    scrollbar.config(command=text.yview)
    scrollbar.pack(side='right', fill='y')
    text.pack(side='left', expand=0, fill='both')
    
    dico_search = Entry(dico, bg="black", fg="white")
    dico_search.pack()
    dico_search_button= Button(dico, text="rechercher",command=search_dico )
    dico_search_button.pack()
    
    
def search_dico():
    global u
    text.delete('1.0', END)
    a=0
    nbr=0
    print('results for the request "',dico_search.get(), '" : ')
    for i in range (len(mots)):
        if dico_search.get() in mots[a]:
            u=""
            u=mots[a]
            text.insert(0.0,u)
            text.delete("", "0.END")
            nbr+=1
        a+=1

谢谢

WB

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-01 01:19:07

最简单的解决方案是不插入字符,而不是插入和删除字符。

代码语言:javascript
复制
text.insert("1.0",u[:-1])

如果您确实想删除在文本小部件中输入的最后一个字符,您可以这样做:

代码语言:javascript
复制
text.delete("end-2c")

"-2c“部分表示”减两个字符“。减一个字符会将索引移动到不可见的尾随换行符之前,再移动一个字符会将索引移动到最后一个字符之前。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62662546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档