Forum: PC-Programmierung Python Tkinter Radiobutton state=disabled setzen


von Gustl B. (-gb-)


Lesenswert?

Moin,

ich habe etwas mit tkinter geschrieben und nun, da habe ich noch einen 
Plot aus der Mathplotlib eingebunden und bin wohl mit den ganzen 
Objekten durcheinandergekommen was zu welchem Überobjekt gehört.

Jedenfalls habe ich Radiobuttons angelegt.

uart0 = tkinter.Radiobutton(master=root, text="A", font=("Helvetica", 
10), variable=UART, value=0).place(x=100,y=580)

Und die möchte ich disablen können.

Dazu mache ich in einer Funktion

uart0.configure(state="disabled")

und bekomme die Fehlermeldung:

AttributeError: 'NoneType' object has no attribute 'configure'

Wenn ich stattdessen

canvas._tkcanvas.itemconfig(uart0,state="disabled")

mache tut sich einfach nur nichts aber es gibt auch keine Fehlermeldung.

Ich wie teile ich denn diesem Radiobutton mit, dass er inaktiv und 
ausgegraut sein soll?

Vielen Dank!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Gerade durch irgendwelchen alten Code gegreppt.
1
        self.appstart.config(state = DISABLED)

Also wohl erstens "config" statt "configure", zweitens DISABLED als 
Name, nicht als String.

von Gustl B. (-gb-)


Lesenswert?

Leider nicht.

    uart0.config(state = DISABLED)
AttributeError: 'NoneType' object has no attribute 'config'

Und nein,
uart0.configure(state = DISABLED)
und auch
    canvas._tkcanvas.itemconfig(uart0,state = DISABLED)
NameError: name 'DISABLED' is not defined

gehen beide nicht.

von Dirk B. (dirkb2)


Lesenswert?

in uart0 steht der Rückgabewert von place und nicht von Radiobutton
Teile das mal in zwei Befehle auf.
1
uart0 = tkinter.Radiobutton(master=root, text="A", font=("Helvetica", 
2
10), variable=UART, value=0)
3
uart0.place(x=100,y=580)

von Gustl B. (-gb-)


Lesenswert?

Wunderbar, das war es, vielen Dank!

uart0.configure(state="disabled")

ist hier die funktionierende Syntax.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier funktioniert es so.

.config und .configure scheinen Aliase zu sein.

DISABLED erkennt er wohl unqualifiziert nur, wenn du mit "from tkinter 
import *" arbeitest, ansonsten müsstest du tkinter.DISABLED schreiben.

von Soeren K. (srkeingast)


Lesenswert?

Jörg W. schrieb:
> Hier funktioniert es so.
>
> .config und .configure scheinen Aliase zu sein.
>
> DISABLED erkennt er wohl unqualifiziert nur, wenn du mit "from tkinter
> import *" arbeitest, ansonsten müsstest du tkinter.DISABLED schreiben.

Ja, aber das Problem war, dass er ja

> uart0 = tkinter.Radiobutton(master=root, text="A", font=("Helvetica",
> 10), variable=UART, value=0).place(x=100,y=580)


Aufruft, und uart0 so "nichts" enthält (nämlich die Rückgabe von 
place()).

Das sagt auch die Fehlermeldung

Gustl B. schrieb:
> AttributeError: 'NoneType' object has no attribute 'configure'

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Soeren K. schrieb:
> Ja, aber das Problem war

Ja, unsere Postings haben sich überschnitten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.