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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Gustl B. (-gb-)


Bewertung
0 lesenswert
nicht 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


Bewertung
0 lesenswert
nicht lesenswert
Gerade durch irgendwelchen alten Code gegreppt.
        self.appstart.config(state = DISABLED)

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

von Gustl B. (-gb-)


Bewertung
0 lesenswert
nicht 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)


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

von Gustl B. (-gb-)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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


Bewertung
0 lesenswert
nicht lesenswert
Soeren K. schrieb:
> Ja, aber das Problem war

Ja, unsere Postings haben sich überschnitten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.