How to disable selecting text in a Python/Tk program?

tkinter disable button after click
tkinter disable frame
tkinter entry disable
python tkinter disabled button
how to disable a label in tkinter
tkinter widget disabled
tkinter set disabled
python entry state disabled

How would that be done? I have been unable to find it on here or with Google.

#Refrences
from tkinter import *

class Interface:

    def __init__(self,stage):

        topLeft = Frame(stage,bg='black')
        test = Entry(topLeft,bg='#2a2a2a',fg='white',insertontime=0)
        test.config(insertbackground='white', exportselection=0)
        test.grid()
        topLeft.grid(row=0,column=0)

def launch():
    window = Tk()
    lobby = Interface(window)
    window.mainloop()

launch()

I assume you wish for users to not be able to edit the Entry box? If so, you must use the config parameter of (state="disabled"), eg.

test.config(insertbackground='white', exportselection=0, state="disabled")

be wary though, I could not find a way to keep the background of your entry box black. Hope this helps

tkinter.DISABLED Python Example, This page provides Python code examples for Tkinter. Text(master=self.​window) self.tex.config(state=tk. RIGHT) self.callback() #show values on start clear the identified line self.master.master.param['ident']=None # de-select the line  The following are code examples for showing how to use tkinter.DISABLED().They are from open source Python projects. You can vote up the examples you like or vote down the ones you don't like.

When we select a text we tkinter trigger(fire) 3 events, which are ButtonPress, Motion and ButtonRelease all these 3 events call a event handler fucntion. The function run select_range(start, end) method which highlight selected text.

To disable this we have to hanlde ButtonPress and Motion events together and call select_clear method on the widget.

If you handle the events and call select_clear method it work but not properly, the text will be highlighted and when another event occured highligh color will be cleared. This happend because of execution order of events. That's mean you have to tell to tk handle your event after default event handler. We can change order of events execution with bindtags and bin_class methods

example:

from tkinter import *
from tkinter import ttk


def on_select(event):
    event.widget.select_clear()  # clear selected text.


root = Tk()

name_entry = ttk.Entry(root)
name_entry.pack()

# with PostEvent tag, on_select the event hanlde after default event handler
name_entry.bindtags((str(name_entry), "TEntry", "PostEvent", ".", "all"))
name_entry.bind_class("PostEvent", "<ButtonPress-1><Motion>", on_select)


root.mainloop()

Tkinter.DISABLED Python Example, Instead, use an instance e of class Entry, with option state=DISABLED to avoid Class Listbox displays textual items and lets the user select one or more items. To set the text items for an instance L of class Listbox, in most GUI programs you​  The following are code examples for showing how to use tkinter.Text(). They are extracted from open source Python projects. You can vote up the examples you like or vote down the exmaples you don't like. You can also save this page to your account.

You can set the text highlight color to match the background of entry widget. Note that the text in the widget can still be selected but the user will not see it visually which will give the illusion that selection is disabled.

test = Entry(topLeft,bg='#2a2a2a',fg='white',insertontime=0)
test.configure(selectbackground=test.cget('bg'), inactiveselectbackground=test.cget('bg'))

Python in a Nutshell, The Tkinter Entry Widget To add entry text to the widget, use the insert method. You specify ranges just like you slice lists in Python: for example, (0, ANCHOR (or the string “anchor”) corresponds to the start of the selection, if any. (show/Show); state= The entry state: NORMAL, DISABLED, or “readonly” (​same as  A text widget manages a multi-line text area. Like the canvas widget, Tk's text widget is an immensely flexible and powerful tool which can be used for a wide variety of tasks. Some example uses of text widgets have included anything from providing a simple multi-line text area as part of a form, to a stylized code editor, to an outliner, to a

A useful solution to Tkinter not having tons of built-in widgets (like, say, JavaFX does), is that you can easily make your own if you don't mind them being not-quite what you wanted :) Here's a rough-around-the-edges example of using a canvas to emulate an entry field that can't be selected. All I've given is the insert functionality (and delete too, I suppose, if you were clever about it), but you may want more. (Another plus is that, because it's a canvas item, you can do nifty formatting with it).

Am I right that by a not-selectable entry widget, you mean a canvas with text written on it? If you want to disable text-highlighting in ALL widgets, including the top-level frame, you could highjack the Button-1 event, deselect everything, and then consume the event whenever text is selected.

from tkinter import *

class NewEntry(Canvas):

    def __init__( self, master, width, height ):
        Canvas.__init__( self, master, width=width,height=height )
        self.width = width
        self.height = height
        self.text = ''

    def insert( self, index, text ):
        self.text =''.join([self.text[i] for i in range(index)] + [text] + [self.text[i] for i in range(index,len(self.text))])
        self.delete(ALL)
        self.create_text(self.width//2,self.height//2,text=self.text)

root = Tk()
entry = NewEntry(root,100,100)
entry.insert(0,'hello world')
entry.insert(5,'world')
entry.pack()
root.mainloop()

The Tkinter Entry Widget, To remove a tag from all characters in a range of text, call tag_remove: self up to index2 self .text. tag_remove(SEL, '1.0', END) # remove selection from all text  Python - Tkinter Radiobutton. This widget implements a multiple-choice button, which is a way to offer many possible selections to the user and lets user choose only one of them. In order to implement this functionality, each group of radiobuttons must be associated to the same variable and each one of the buttons must symbolize a single value.

Programming Python, The user cannot remove this checkmark as the widget is disabled. The second text="Disabled", variable=chVarDis, state ='disabled') # 3 check1.select() # 4  Python - Tkinter Text - Text widgets provide advanced capabilities that allow you to edit a multiline text and format the way it has to be displayed, such as changing its color and fon

Python GUI Programming Cookbook, Tk code: l1 = tkinter.Label(text="Test", fg="black", bg="white") l2 = tkinter. disabled, Widget is disabled under program control Each child window is associated with a tab, which the user may select to change the currently-​displayed window. This is our twenty third video in Tkinter gui application development with python3 in this video iam going to show you how you can Browse A File in Tkinter Tkinter Application Development Playlist

24.2. tkinter.ttk — Tk themed widgets, The Text widget becomes read-only after its state is set to be disable . Python. pythonCopy import tkinter as tk root = tk.Tk()  Python Tkinter Text . The Text widget is used to show the text data on the Python application. However, Tkinter provides us the Entry widget which is used to implement the single line text box. The Text widget is used to display the multi-line formatted text with various styles and attributes.

Comments
  • Out of curiosity, why? You're removing a feature that most users expect to find in an input widget.
  • Exactly what I needed.