Seite 1 von 1

Farbe des Scrollbars bei ScrolledText

Verfasst: Sonntag 18. April 2004, 19:07
von Pythino
Wie kann ich die Farbe des Scrollbars eines Scrolledtexts ändern?
Leider scheint es recht neu zu sein, auf jeden Fall habe ich für ScrolledText noch keine genauere Beschreibung gefunden.

St = ScrolledText(bg = 'red', fg = 'blue', font = 'arial 20' .... 'Farbe des Scrollbars (?) )

Wäre sehr nett, wenn mir jemand helfen könnte!

Verfasst: Sonntag 18. April 2004, 20:33
von Milan
Hi. Ohne jetzt sagen zu wollen, es ist so, aber ich glaube das geht nicht so einfach per Option... ich hab es nicht probiert, aber mir scheint keine der folgenden Optionen dafür zuständig zu sein:

Code: Alles auswählen

activebackground, activerelief,
background, bd, bg, borderwidth, command, cursor,
elementborderwidth, highlightbackground,
highlightcolor, highlightthickness, jump, orient,
relief, repeatdelay, repeatinterval, takefocus,
troughcolor, width
Du kannst es natürlich probieren, vielleicht lieg ich falsch. :wink: Nur ansonsten wird es wohl nur über selber basteln gehen.

Milan

Verfasst: Sonntag 18. April 2004, 23:09
von wuf
Hi Pythino
Hier ist etwas zum ausprobieren:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import sys
from Tkinter import *

def ende():
	sys.exit(0)

# Hauptfenster
hauptfenster = Tk()

width  = 400
height = 80
hauptfenster.wm_geometry("%dx%d" % (width,height))
hauptfenster.wm_title('Colored Scrollbar')

hauptfenster.tk_focusFollowsMouse()

# Rahmen für Scrollbar & Button
frame = Frame(hauptfenster,relief=RAISED,bd =2,bg='gray')
frame.pack(fill=BOTH,expand=TRUE)

# Scrollbar
scb = Scrollbar(frame,
				orient              = HORIZONTAL,
				relief              = RAISED,
				bg                  = 'lightsteelblue',
				bd                  = 2,
				elementborderwidth  = 1,
				troughcolor         = 'steelblue3',
				activebackground    = 'khaki',
				highlightcolor      = 'red',
				highlightbackground = frame['bg'],
				takefocus           = TRUE,
				cursor              = 'hand1',
				width               = 20,
				)
scb.pack(fill=X,pady=4,padx=4)

# Button Beenden
bende = Button(frame,
				text                = 'Ende',
				fg                  = 'darkgreen',
				command             = ende,
				highlightcolor      = 'red',
				highlightbackground = frame['bg'],
				cursor              = 'hand1',
				)
bende.pack(side=BOTTOM,pady=4)

hauptfenster.mainloop()
Gruss wuf :wink:

Verfasst: Montag 19. April 2004, 13:12
von Pythino
Ist mir auch schon aufgefallen, Milan diese Optionen funktionieren bei ScrolledText eben nicht! Ausprobiert hätte ich sie schon...

Danke wuf, leider ist keine Farbänderung zu sehen, obwohl es nicht einmal einen Fehler gibt.

Verfasst: Montag 19. April 2004, 19:33
von wuf
Hi Pythino

Mit was für einem Betriebsystem arbeitest du?
Windows, Linux, Mac

Was sind die Versionen von deiner
Python- bzw. Tkinter-Installationen?

Hast du auch Schwierigkeiten mit der Farbgebung
bei anderen Tk-Widgets? Oder ist die Scrollbar
das einzige Widgets das Probleme macht?

Oder hast du eventuell Probleme mit deinem Monitor?

Kann mir nicht vorstellen wieso das nich klappen
sollte.

Gruss wuf :wink:

Verfasst: Dienstag 20. April 2004, 15:41
von Pythino
Windows, Linux, Mac

Was sind die Versionen von deiner
Python- bzw. Tkinter-Installationen?
WinXP, Python 2.3
Hast du auch Schwierigkeiten mit der Farbgebung
bei anderen Tk-Widgets? Oder ist die Scrollbar
das einzige Widgets das Probleme macht?
Bisher lief alles glatt und zwar mit allen Widgets.

Mein Monitor ist zwar schon etwas älter, aber Farben kann er schon noch unterscheiden. Vorallem wieso sollte er nur beim Scrollbar Probleme haben, und nirgendwo anders nicht?

Funktioniert es bei dir einwandfrei?

Verfasst: Dienstag 20. April 2004, 20:01
von wuf
Hallo Pythino

Danke für deine Rückantwort.

Ich habe mein Skript unter Win2000 ausgetestet.
Es scheint effektiv so zu sein, dass Win-Betrieb-
systeme es nicht zulassen, eine blaue Scrollbar
darstellen zu können, welches unter Linux-SuSE 9.0
problemlos machbar ist. Vielleicht könnte es auch ein
Bug im Tk-GUI für Windows sein. Aber ich glaube
das erste ist der Fall, da ich unter Windows noch
nie eine Scrollbar gesehen habe, die eine andere
Farbe aufwies als das graue MS-Standardfarbgemisch.
Eine Scrollbar scheint somit ein Systemkomponent zu
sein, welcher sich nicht umfärben lässt. Interessanter
weise kann aber die Hindergrundfarbe ein Schaltfläche
(Button) problemlos geändert werden.

OK! Pythino besten Dank für deinen lehrreichen Tipp!
Ich arbeite schon länger unter Linux.

Gruss wuf :wink:

Verfasst: Dienstag 20. April 2004, 20:56
von Milan
wuf hat geschrieben:... da ich unter Windows noch nie eine Scrollbar gesehen habe, die eine andere Farbe aufwies als das graue MS-Standardfarbgemisch.
Hi. Sofort ein Wiederspruch von mir :wink: . Ich hab es schon in zwei Varianten anders gesehen: bei XP, wenn man das Design umstellt und in IE/Opera bei Anwendung von CSS Stylesheets. Allerdings kannst du gut recht haben, dass das für die Tk-Bibliothek zutrifft, denn bei mir geht es unter W2k auch nicht.

Milan