Python 2.7 / Windows: tkinter / ttk Widgets mit transparentem Hintergrund, ttk Rahmen Hintergrundfarben

8

Ist es möglich, tkinter- oder ttk-Widgets (Label, Entry, Text) mit einem transparenten Hintergrund zu konfigurieren, sodass sie in Container mit benutzerdefinierten Hintergrundfarben oder über Canvas-Grafiken oder Bildern platziert werden können?

Ich suche auch nach einer Möglichkeit, die Hintergrundfarbe eines ttk-Frame-Widgets zu ändern?

Muss ich die neuen ttk Style-Objekte verwenden, um das oben genannte zu erreichen? (Ich bin neu bei tkinter / ttk und versuche immer noch, den richtigen Weg zu finden, Dinge zu tun).

    
Malcolm 25.10.2010, 01:48
quelle

1 Antwort

3

Außer auf OSX, was Sie wollen, kann nicht getan werden, weil alle diese Widgets auf echten Fenstern gezeichnet sind, die rechteckig sind (es sei denn, Sie verwenden einige Low-Level-Tricks, um Löcher aus dem Fenster zu hacken besorgt, nicht ein Ansatz, den ich empfehle, obwohl ich Code habe - für Tcl / Tk, nicht Python / Tkinter zugegebenermaßen - was es tut). OSX ist die Ausnahme, da Widgets (meistens) nicht auf echten Fenstern gezeichnet werden, sondern ein leichteres System verwenden (weil OSX so funktioniert).

Sie können die Widgets so einstellen, dass sie weniger Rahmen als normal aufweisen. Dies ist in Ordnung, wenn Sie einen Stil verwenden, der sie grundsätzlich quadratisch hält. Oder wenn Sie eine Leinwand für Ihre "interessante" Oberfläche verwenden, können Sie knopfähnliche Dinge auf der Leinwand erstellen, die für das, was Sie tatsächlich tun, besser sein könnten.

Um die Hintergrundfarbe eines Ttk-Frames zu ändern, müssen Sie einen Stil darauf anwenden. Die besten Anleitungen zur Erstellung von Stilen, die ich bisher gesehen habe, finden Sie im Tutorial zu tkdocs style , wo Ich gehe, wenn ich nachsehen möchte, wie man diese Dinge macht. (Ja, die Ttk-Dokumentation sollte dies selbst abdecken, tut es aber noch nicht.)

    
Donal Fellows 07.01.2011 17:53
quelle

Tags und Links