tkinter-Widgets nachträglich durch ttk-Widgets ersetzen

Fragen zu Tkinter.
Antworten
Benutzeravatar
Goswin
User
Beiträge: 366
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen
Kontaktdaten:

Ich bemerke gerade, dass meine tkinter-Version auch Ttk enthält. Meine bisherigen Programme benutzen alle:

Code: Alles auswählen

import tkinter as t
#t.Tk, t.Frame, t.Canvas, t.Button, t.Label, usw.
Ich möchte ich gerne sehen, was mit diesen Programmen passiert wenn ich diejenigen Tkinter-Widgets, welche auch in Ttk vorhanden sind (aber eben nur diese), durch die Ttk-Widgets ersetze. Muss ich dafür meine Programme Zeile für Zeile durchsehen und die Namen der entsprechenden Widgets abändern, oder ist das auch machbar, indem ich ein paar Standartzeilen an den Anfang jedes Moduls setze? Wenn meine ursprünglichen Programme folgend Form hätten,

Code: Alles auswählen

from tkinter import *
#Tk, Frame, Canvas, Button, Label, usw.
dann würde das durch Einfügen der Zeile "from tkinter.ttk import *" leicht zu machen sein. Aber das ist bei mir nun einmal nicht der Fall, weil ich mir angewöhnt hatte, Konstrukte wie "from xxx import *" grundsätzlich zu vermeiden.
Schorlem
User
Beiträge: 40
Registriert: Dienstag 3. Juni 2014, 16:37

?

Code: Alles auswählen

from tkinter import ttk as t
bzw.

Code: Alles auswählen

import tkinter.ttk as t
tk.Tk() funktoniert mit ttk aber nicht, ich weiß aber nicht, ob es mehr von diesen Unterschieden gibt.
Diese Nachricht wurde maschinell erstellt und ist daher ohne Unterschrift gültig.
Benutzeravatar
Goswin
User
Beiträge: 366
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen
Kontaktdaten:

[quote="Schorlem"]?

Code: Alles auswählen

tk.Tk() funktoniert mit ttk aber nicht, ich weiß aber nicht, ob es mehr von diesen Unterschieden gibt.[/quote]
Ja, gibt es. Ttk enthält nur einige der Widgets, alle anderen müssen aus Tkinter importiert werden, deshalb darf der Zugang zu Tkinter nicht einfach überschrieben werden.
Antworten