python tkinter-如何获取“全选”菜单功能?

庞兹

我正在尝试向该程序添加一个带有“全选”的菜单。我希望它选择答案文本框中的所有文本,即“ blank2”。我可以使用菜单和下拉菜单来工作,但是当我单击“全选”时,它给我一个错误。这是代码...

#!/usr/bin/env python3
from tkinter import *

#function for select all menu item
def select_all(event=None):
    blank2.tag_add('sel', '1.0', 'end')
    return "break"

def getDaText():
    src = blank.get()

    if '_' in src:
        dst = src.replace("_", " ")
    else:
        dst = src.replace(" ", "_")

    blank2.insert(0, dst)

def clear_answer():

    blank.delete('0', END)
    blank2.delete('0', END)

main = Tk()
# Creating Menubar
menubar = Menu(main)

# Adding Edit Menu and commands
edit = Menu(menubar, tearoff = 0)
menubar.add_cascade(label ='Edit', menu = edit)
#edit.add_command(label ='Cut', command = None)
#edit.add_command(label ='Copy', command = None)
#edit.add_command(label ='Paste', command = None)
edit.add_command(label ='Select All', command=select_all)

Label(main, text=" add or remove underscore ").grid(row=0, columnspan=3, sticky=W, pady=1)

blank = Entry(main)
blank2 = Entry(main)

blank.grid(row=1, column=0, columnspan=2, sticky=W)
blank2.grid(row=2, column=0, columnspan=2, sticky=W)

Button(main, text='Show answer', command=getDaText).grid(row=3, column=0, sticky=W, pady=1)
Button(main, text='Clear', command=clear_answer).grid(row=3, column=1, sticky=W, pady=1)

# display Menu
main.config(menu = menubar)
mainloop()

这是错误...

Exception in Tkinter callback

Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1553, in __call__
    return self.func(*args)
  File "/home/mthomas/python_progs/add_or_remove_underscore/add_or_remove_underscore-tk-with-label.py", line 5, in select_all
    blank2.tag_add('sel', '1.0', 'end')
AttributeError: 'Entry' object has no attribute 'tag_add'
德里恩

tag_addEntry-Widget调用该方法该小部件没有tag_add方法。可能您想使用Text-Widget。

# replace
blank2 = Entry(main)
# with
blank2 = Text(main)

参考:

入口小部件:https//www.tutorialspoint.com/python/tk_entry.htm

文字小工具:https//www.tutorialspoint.com/python/tk_text.htm

编辑

我已经使用Entry-Widget寻找解决方案,并发现以下内容:

def select_all(event=None)
    # first set the focus to the entry widget
    blank2.focus()

    # use the selection_range method from the entry widget
    blank2.selection_range(0, END)

https://effbot.org/tkinterbook/entry.htm#Tkinter.Entry.selection_range-method

将焦点设置为特定的TKinter条目小部件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从python的tkinter菜单获取返回值

来自分类Dev

Python功能:Tkinter菜单和菜单项

来自分类Dev

Tkinter列表中的Python菜单

来自分类Dev

Python Tkinter下拉菜单

来自分类Dev

Python Tkinter,如何在Tkinter TreeView中获取某项的子项?

来自分类Dev

在Tkinter前端添加python功能

来自分类Dev

Python,Tkinter-如何从Entry获取文本

来自分类Dev

如何获取按钮名称tkinter python

来自分类Dev

如何获取小部件的名称Python Tkinter

来自分类Dev

Python Turtle获取Tkinter根

来自分类Dev

Python Tkinter获取askopenfilenames()的结果

来自分类Dev

如何隐藏Tkinter python Gui

来自分类Dev

如何检查Python Tkinter中是否存在菜单项

来自分类Dev

Python(Tkinter)创建的菜单不会显示

来自分类Dev

Python Tkinter菜单命令不起作用

来自分类Dev

Python(Tkinter)创建的菜单不会显示

来自分类Dev

分级的组合框菜单Python Tkinter

来自分类Dev

Python Tkinter for 循环中的选项菜单

来自分类Dev

如何自动运行特定的功能或在Python Tkinter的无限次?

来自分类Dev

如何创建具有类似按钮功能的 Python tkinter 框架?

来自分类Dev

功能不是用Python Tkinter的工作?

来自分类Dev

python tkinter熊猫搜索功能的问题

来自分类Dev

Python,Tkinter:如何使用线程防止tkinter gui mainloop崩溃

来自分类Dev

Python and Tkinter

来自分类Dev

python tkinter树获取选定的项目值

来自分类Dev

Python:从tkinter scrolledtext获取文本并逐行读取

来自分类Dev

Python-GUI-Tkinter获取条目值

来自分类Dev

python tkinter - 在新窗口中获取光标

来自分类Dev

从 tkinter 按钮获取随机文本变量 - python