automatisch eine scrollbar an einem widget binden

Fragen zu Tkinter.
Antworten
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

vieleicht hilfts nehmanden:

Code: Alles auswählen

class Scrolling(object):
	"""argument must be a tkinter widget
	returns the given widget with a scrollbar on the right side"""
	def __new__(self, Widget):
		class Tmp(Widget):
			def __init__(self, root, **kw):
				frm = Frame(root)
				Widget.__init__(self, frm, **kw)
			
				scrollbar = Scrollbar(frm)
				self.config(yscrollcommand=scrollbar.set)
				scrollbar.config(command=self.yview)
				self.pack(side=LEFT, expand=YES, fill=BOTH)
				scrollbar.pack(side=RIGHT, fill=Y)
			
				self.pack = frm.pack
				self.grid = frm.grid
		return Tmp
cp != mv
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo Costi

Um dein Codesnippet zu testen habe ich noch ein wenig Code hinzugefügt. Ich habe ein Canvas-Objekt, welches ich mit deiner Klasse frisieren möchte. Scheint bei mir nicht zu funktionieren. Eventuell verstehe ich es nicht oder mache etwas falsch. Vielleicht kannst du mir helfen.

Hier ist meine Code-Erweiterung:

Code: Alles auswählen

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

import sys
import Tkinter as tk

class Scrolling(object):
    """argument must be a tkinter widget
    returns the given widget with a scrollbar on the right side"""
    def __new__(self, Widget):
        class Tmp(Widget):
            def __init__(self, root, **kw):
                frm = Frame(root)
                Widget.__init__(self, frm, **kw)
 
                scrollbar = Scrollbar(frm)
                self.config(yscrollcommand=scrollbar.set)
                scrollbar.config(command=self.yview)
                self.pack(side=LEFT, expand=YES, fill=BOTH)
                scrollbar.pack(side=RIGHT, fill=Y)

                self.pack = frm.pack
                self.grid = frm.grid
        return Tmp

#~~ Lade den Dateiname dieses Skriptes
script_name = sys.argv[0]

#~~ Konstanten für die Abmessungen des Hauptfensters
MAIN_WIN_XPOS   = 0
MAIN_WIN_YPOS   = 0
MAIN_WIN_WIDTH  = 320
MAIN_WIN_HEIGHT = 320

#--- Erstelle ein Tk-Hauptfenster ----
root = tk.Tk()
root.geometry("%dx%d+%d+%d" % (
    MAIN_WIN_WIDTH,
    MAIN_WIN_HEIGHT,
    MAIN_WIN_XPOS,
    MAIN_WIN_YPOS)
    )
root['bg'] = 'steelblue2'
script_name = 'Toplevel-Instanzen'
root.title(script_name)

canvas = tk.Canvas(root,
    )
canvas.place(x=20,y=20,width=200,height=200)

scrolling_widget = Scrolling(canvas)

root.mainloop()
Hier ist die Fehlermeldung:

Traceback (most recent call last):
File "scrollbar_widget_bind.py", line 51, in ?
scrolling_widget = Scrolling(canvas)
File "scrollbar_widget_bind.py", line 11, in __new__
class Tmp(Widget):
TypeError: Error when calling the metaclass bases
__init__() takes at most 3 arguments (4 given)
spy@linux:~/Documents/python_download/scrollbar_widget_bind>

Gruss wuf :wink:
Take it easy Mates!
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

als argument soll Scrolling eine klasse, und keine instanz bekommen :wink:

und zeile 52 dann komplett weglassen
cp != mv
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo Costi

Danke für deine Antwort.

Ich habe das Codesnippet abgändert. Die Fehlermeldung taucht nicht mehr auf. Auf dem Hauptfenster zeigt sich mein Wunsch-Widget (Canvas). Aber die Scrollbar auf der rechten Seite fehlt. Was könnte hier deiner Meinung nach falsch sein.

Hier mein abgeänderter Code.

Code: Alles auswählen

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

import sys
import Tkinter as tk

class Scrolling(tk.Canvas):
    """argument must be a tkinter widget
    returns the given widget with a scrollbar on the right side"""
    def __new__(self, Widget):
        class Tmp(Widget):
            def __init__(self, root, **kw):
                frm = Frame(root)
                Widget.__init__(self, frm, **kw)
 
                scrollbar = Scrollbar(frm)
                self.config(yscrollcommand=scrollbar.set)
                scrollbar.config(command=self.yview)
                self.pack(side=LEFT, expand=YES, fill=BOTH)
                scrollbar.pack(side=RIGHT, fill=Y)

                self.pack = frm.pack
                self.grid = frm.grid
        return Tmp

#~~ Lade den Dateiname dieses Skriptes
script_name = sys.argv[0]

#~~ Konstanten für die Abmessungen des Hauptfensters
MAIN_WIN_XPOS   = 0
MAIN_WIN_YPOS   = 0
MAIN_WIN_WIDTH  = 320
MAIN_WIN_HEIGHT = 320

#--- Erstelle ein Tk-Hauptfenster ----
root = tk.Tk()
root.geometry("%dx%d+%d+%d" % (
    MAIN_WIN_WIDTH,
    MAIN_WIN_HEIGHT,
    MAIN_WIN_XPOS,
    MAIN_WIN_YPOS)
    )
root['bg'] = 'steelblue2'
script_name = 'Toplevel-Instanzen'
root.title(script_name)

scrolling = Scrolling(root,
    )
scrolling.place(x=10,y=10,width=200,height=200)

root.mainloop()
N.B. Was heisst 'delme pls'?

Besten Dank für deine Bemühung. Gruss wuf :wink:
Take it easy Mates!
BlackJack

Ich habe 'delme pls' als 'delete me please' aufgefasst und es einfach mal getan. :-)
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

OK BlackJack

Ich dachte schon dies sei nicht dokumentierter Python-Syntax. :lol:

Gruss wuf :wink:
Take it easy Mates!
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

schoen das ihr mein kryptische "delme pls" verstanden habt (-;


hmmmm

ich kann auch nicht genau sagen warum es nicht geht:
aber mit etwas rummspielen bin ich auf folgendes gekommen:

Code: Alles auswählen

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

import sys
import Tkinter as tk

class Scrolling(tk.Canvas):
            def __init__(self, master, **kw):
                tk.Canvas.__init__(self, master)
                frm = tk.Frame(root)
 
                scrollbar = tk.Scrollbar(frm)
                self.config(yscrollcommand=scrollbar.set)
                scrollbar.config(command=self.yview)
                self.pack(side=tk.LEFT, expand=tk.YES, fill=tk.BOTH)
                scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

                self.pack = frm.pack
                self.grid = frm.grid
                self.place = frm.place

#~~ Lade den Dateiname dieses Skriptes
script_name = sys.argv[0]

#~~ Konstanten fuer die Abmessungen des Hauptfensters
MAIN_WIN_XPOS   = 0
MAIN_WIN_YPOS   = 0
MAIN_WIN_WIDTH  = 320
MAIN_WIN_HEIGHT = 320

#--- Erstelle ein Tk-Hauptfenster ----
root = tk.Tk()
root.geometry("%dx%d+%d+%d" % (
    MAIN_WIN_WIDTH,
    MAIN_WIN_HEIGHT,
    MAIN_WIN_XPOS,
    MAIN_WIN_YPOS)
    )

root['bg'] = 'steelblue2'
script_name = 'Toplevel-Instanzen'
root.title(script_name)

scrolling = Scrolling(root)

scrolling.place(x=10,y=10,width=200,height=200)

root.mainloop() 
EDIT:
also den scrollbalken sieht man, aber wieso ist root jetzt nicht blau?
cp != mv
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo Costi

Der Grund wesshalb ich mich für dein Codeshnippet interessierte war die Zeile:

def __new__(self, Widget):

Ich wusste aber nicht, dass dein Codestück nicht läuft. Wie ich sehe hast du den Code sehr stark verändert. Er erfüllt aber nicht meine Erwartungen. Die oben erwähnte Zeile taucht nicht mehr auf. An der Ziehleiste hängt das Frame und das ganze ist in das Canvas-Widget eingebettet. Die Farbe kann man wohl mit 'bg' ändern.

OK. Ich danke dir auf jeden Fall für deine Antwort.

Ich habe hier noch etwas eigenes zusammengebastelt. Canvas mit Zieleiste rechts:

Code: Alles auswählen

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

import sys
import Tkinter as tk

TUX_01_48_data =\
'''
R0lGODlhMAAwAOf/AAABAAAEBwgCAgMGAgMKDQgK
BgwOCxQMAxINCw8QEw8RDhsPCBIUERAVFxQWExEY
HRYXGSQVABcYFhkbGBwdGx8dIB8gHi8fBiIkISYk
KCYnJSQmMD8jAikrKD0oBiUsMjsqDi8rKiwvLkgr
DU40BTY4NUU2Hjw9RUk9JEo/MEFDQGM+C1xBIUZH
SmhEBGFEGUhKR0dJVHFGAGtHEFtNME9RTmdRDU9U
Vm1YBlJVYVdXVX5XEVpcWWxcPWZdUpRYAGBiX4Vh
BmBiaHtkKH5pCX5sAGdmYn1lNWdrbmttandpZKho
AJNtIKtqAKJzAHR2daVxDIx5NJZ2Lnx9enl+gJGA
ZcV6AoOGhZyIOauKB7aIAMSFFIuPkK6JVamKY9KK
AM2OIJaYlbueI5abnciVPJudmcCkELShRd+VFtaZ
IdmbF9uhAKCin9OmALuecs2rAOebEPOZA92jEdWo
EKaope6cJKWpsv+fAOKoMO6rAPykAP+oANmyM+2s
IrCyr/2sDK+0tvK3AOi5Eey7ALm0s9+ubb21rv+1
AOGzZLi6t/mzLdK2iP+6B9S8c+rIBPuzSby+u/65
Kf/BALvAw7++xffEDtm+g/vGAO7NAO7TAOjHVuC+
nv/GMsPIy/jFS8bIxf/QAP7QCsrHzNLHuv/VAOPJ
k//XF//cAMjQ2P7WJv/SO/DhGc/Rzt7Otv3gBv/h
AP3bK//RXP7Ra8/V1/7mANPV0v/cOP/aSv/cQvTU
jP/iI//WZ/3dS//YYf/bU/7sAPzeVNfZ1v/cXNXa
3f/ZcP7ca//dZP/lP/7afv7gXtrc2f/zAP3hbfze
gP/fdP/fe9nf497g3f75AP/fj/vfnP/hiv3vRf3+
AP/hmP/jkv7mhv7kmf3njePl4v7jpv/mr/rk0/z/
Pejq5v7psOfq8f/toP/rq//qv//ylvDr6f77cOvu
6v/rxv//ZOzx9O/x7v/ywv76nv7y0fL08O32//X3
9Pr18/j69/759///2/r8+fj+////6Pz++/7//P//
/yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQB
CgD/ACwAAAAAMAAwAAAI/gD/CRxIsKDBAhg6UBhg
sKHDhxD/UUBCSJQoSmNqFIjIsaPADGHolAkzcoyd
KRs9qjQ4AMYTJDCVIEli5EkGACtzChSQAQYMFS2A
BlXhAKfOlQEEQKhQgUIFBAgSJBAAwOjRjgMEIMg6
IECIJCEGVLV6FSIAAVPcGTkLwx0+aBXGluUIIEEi
SuI0CIAkjlA3OmPJzm2I4EoSOy0AYJzCRRQDuYMf
JhASAssZLJZ6VBBCqQDkyA0FKBGjjh8/eJqgdDFC
tSpohwLMqIuHDl25ctw8LWkt+LXACKvCWTuGSxWn
SIesiHXtu6AAMbRepZJ0SM+dOF4SfG4uMIGhXZIk
/v3RE6dQq3QdAnMfKECUv0fV62yitw+fkQDbfQMw
MAwfPnDguFOfP/5AY4F6zZ0VRn37DOgPPvXhM8Vy
zL0GwBP4EEjgPv40COE+hPDWW1kAEPCJhhpmWN89
+3QzAQAUgpaVBu6guKF/+9hjDz5UnCWWWJEVgFaG
KX5oT4M6klOCAEIOwNBcBAhAwTAoNpjjkfa4o6U/
diQVpQBPXjWVEShmaKQ79sxjTzrpBGOBVFGmdFQB
BFDgnoYM6uhOPVqu46c9QgigQFQJyJkTAmgVyeCV
epJDTjfvhJFAAwoYUOhRBkCQAB0bInmllu+sk846
3bBJCQWEKnBpTg4sdaKZ/jnus+c8WpLDJjTddDOM
BhNMAIEDCRiQUwEVSIABOR1CiKWebIojDjTpQBMN
KyEsJQEEEiSQUwMPPBDCOsnKqiWaoaZjq7RtinKC
AxlY8KsCOSVAggcfIIslPmnaIyo50CqTjjLDkDOL
CjpMQQUMGWi7kgx/oOHCJLHSas87WrJZKsDDjLKI
G0DB0EINGSCQkyLwnKPIC3bk6A6t7lgcDTnDDJPO
MGTc8QWiAuRMQhMr1UENO+yMA4YJXOzIpjvd2BrN
vzGLAsYupVDwQAMEIGAJHh1ZsUUfyIzjzTjjIANF
BldA44445karTC3/1uL0NPJUgYIJNCySDyIc5bFL
/jbZYIPNNH9T48kLH9Qgyju5pvNyMKIoY1EasoBN
TS7UmPONLD9ExEgznHOODDKcO6NGCiE8gfbMygSj
zNpup1HM33xvsw021cQCBUR5GFPMLrsUY0zvzjhz
CxMnIAGNtOQEM4wojAdDiBrGPMP5M9Qj84w2xYDx
kBy2CJMMML4I44svt/hijCBeUKJ4Oo2rzjwhPsih
uzH0119MMczo4oRDgYSSCi4ATEUoBmiKVMCCE60g
h79WJ4p0fIILOaBBKHgxPmDcQoD+s4UuAkECh5ji
FKAghSlIQcISlhAPhPiERQhBiDAgoQUtOEIoTAEL
WJjCFDP84CW04AGHuOAVmtE5hRCF6IpTuOIVQCTF
EXLgAyHoQAc10EELYhCFIpJiiKRAYhs4EJEgCOIV
v1jGL34RnegAEYhSyIETn8jGHGABibQ4IhhJEYQD
eGQFQcjCGzARRjHSIoyOYEEGQpCBDDxFAhbYwBDG
+MdfSMMRK7jKAnbQBldI4xrXyEQPIeKIS0pDGoMY
QWQ8gIMi4OACHSllEWywgPWsJyAAOw==
'''

LINUX_SLOGAN_data =\
'''
R0lGODlhfAAxAIAAAP///////yH+FUNyZWF0ZWQg
d2l0aCBUaGUgR0lNUAAh+QQBCgABACwAAAAAfAAx
AAAC/oyPqcvtD6OctNqLs968+w+G4kiWpgikasqw
5/uujQzXI73g9t7pissLbnzCIoh40NF8SlVg5YIa
K8gnDoqNXpfOJGBqqVqBY+CWfP5aweFuzl1GpOVw
LLtNTjTR7r3am3cXIeZHZ1YHFydIQYjId/j4Byi5
+ECkVjipuTkZWPkWiOkoOce5JvXpcGmQydrHVWea
+tPkGmn4l4W6ZuuZqitll9XbhQr8pTurvMzc7PwM
HS09TV1tbe07Q4nHmA1q4/3GEU5LtX1BTq53bj7o
1Y6Ry36XLg/f9q4KSTnsVMzi71CcfwHH4FpnkBMw
XvpcsaLzUIsoZBMTakkC0ZZDfV6PLIriyLCexnX2
Qn40ufEUwpQXGaLkSLHkk0Hy8shoCZPlSZUZX9rJ
BxMWxXsJDeXciDMpspU+2Ql0CSgkzYcuPypFWpJP
OZ0jSWWNMvOUzBYBbZYN1s/YK1rCCPLbpUgoVCHq
5l1DYbfoXRNi5u79Cziw4MGECxs+fKcAADs=
'''

class Scrolling(tk.Frame):
    """Klasse für Canvas mit Ziehleiste rechts"""

    def __init__(self, parent,
            x_scroll_reg = 500,
            y_scroll_reg = 500,
            **kw
            ):

        tk.Frame.__init__(self, parent,
            **kw
            )

        self.y_scrollbar = tk.Scrollbar(self,
            orient  = 'vertical',
            bd = 1,
            width = 14
            )
        self.y_scrollbar.pack(side='right',fill='y')

        self.canvas_plane = tk.Canvas(self,
            scrollregion = (0,0,x_scroll_reg,y_scroll_reg),
            **kw
            )
        self.canvas_plane.pack(side='left',fill='y')

        self.canvas_plane['yscrollcommand'] = self.y_scrollbar.set
        self.y_scrollbar['command'] = self.canvas_plane.yview

#~~ Lade den Dateiname dieses Skriptes
script_name = sys.argv[0]

#~~ Konstanten fuer die Abmessungen des Hauptfensters
MAIN_WIN_XPOS   = 0
MAIN_WIN_YPOS   = 0
MAIN_WIN_WIDTH  = 320
MAIN_WIN_HEIGHT = 320

#--- Erstelle ein Tk-Hauptfenster ----
root = tk.Tk()
root.geometry("%dx%d+%d+%d" % (
    MAIN_WIN_WIDTH,
    MAIN_WIN_HEIGHT,
    MAIN_WIN_XPOS,
    MAIN_WIN_YPOS)
    )

root['bg'] = 'steelblue2'
script_name = ''
root.title(script_name)

ICON_TUX_01_48 = tk.PhotoImage(data=TUX_01_48_data)
TEXT_SLOGAN    = tk.PhotoImage(data=LINUX_SLOGAN_data)

scrolling = Scrolling(root,
    bg='khaki2',
    highlightthickness = 0,
    )
scrolling.place(x=10,y=10,width=200,height=230)

#~~ Ein wenig Werbung
xpos = 10
ypos = 50
for tux in xrange(8):
    scrolling.canvas_plane.create_image(
        xpos,ypos,
        anchor = 'nw',
        image  = ICON_TUX_01_48
        )
    xpos += 15
    ypos += 15

scrolling.canvas_plane.create_image(
    0,0,
    anchor = 'nw',
    image  = TEXT_SLOGAN
    )

root.mainloop()
Gruss wuf :wink:
Take it easy Mates!
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Hallo wuf,

sehr nett, dein Tux-Canvas.

Was mir aufgefallen ist: Der Scrollbalken lässt sich nicht mittels Mausrad bewegen (Linux).

Bei "normaler" Verwendung von Scrollbalken statt der Scrolling-Klasse ist diese Funktionalität automatisch implementiert.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo pütone

Danke!
pütone hat geschrieben: Bei "normaler" Verwendung von Scrollbalken statt der Scrolling-Klasse ist diese Funktionalität automatisch implementiert.
Wie meinst du das genau. Bei einem normalen Tkinter-Scrollbar-Widget unter Linux sicher nicht und so viel ich weiss funktioniert dies auch unter Windows nicht, ohne dass du den Mousewheel-Event exkusiv ans Scrollbar-Widget bindest.

Ist aber kein Problem dies bei der 'Scrolling-Klasse' zu implementieren.

Gruss wuf :wink:
Take it easy Mates!
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

wuf hat geschrieben:
pütone hat geschrieben: Bei "normaler" Verwendung von Scrollbalken statt der Scrolling-Klasse ist diese Funktionalität automatisch implementiert.
Wie meinst du das genau. Bei einem normalen Tkinter-Scrollbar-Widget unter Linux sicher nicht und so viel ich weiss funktioniert dies auch unter Windows nicht, ohne dass du den Mousewheel-Event exkusiv ans Scrollbar-Widget bindest.
Kann ich nicht nachvollziehen. Ich brauche in meiner Linux-Umgebung (SuSE 10.0 mit KDE) keine explizite Bindung vorzunehmen, die Funktionalität ist automatisch vorhanden.

Wenn ich - mittels wine, pyinstaller etc. - eine Windows exe-Datei draus mache, bleibt diese Funktionalität erhalten.

Beispiel: Dein Code-Snippet aus http://www.python-forum.de/topic-15002.html

Ich kann dort den vertikalen Scrollbalken mit dem Mausrad bewegen.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo pütone
pütone hat geschrieben: Wenn ich - mittels wine, pyinstaller etc. - eine Windows exe-Datei draus mache, bleibt diese Funktionalität erhalten.
Mit wine, und pyinstaller habe ich mich noch nicht näher beschäftigt.

Um noch einmal auf dein Codeshnipped aus http://www.python-forum.de/topic-15002.html zurück zu kommen:

Code: Alles auswählen

import Tkinter as tk

root = tk.Tk()
frame = tk.Frame(root)
frame.pack(side=tk.LEFT,fill=tk.Y)
editor = tk.Text(frame)
editor.pack(side=tk.TOP,fill=tk.Y,expand=True)
scroll_y = tk.Scrollbar(root,command=editor.yview)
scroll_y.pack(side=tk.LEFT,fill=tk.Y)
scroll_x = tk.Scrollbar(frame,command=editor.xview,orient=tk.HORIZONTAL)
scroll_x.pack(side=tk.BOTTOM,fill=tk.X)
editor.config(width=30,wrap="none",padx=5,pady=5,
            yscrollcommand=scroll_y.set,xscrollcommand=scroll_x.set)
root.mainloop()
Ich starte dein Codestück auf meinem System auf das besteht aus:

OS = Linux 10.0
Python 2.4
Tkinter 8.4

--> Nicht lachen ich liebe das Nostalgische. (Ich hasse Spielereien nach Updates)

Ich überfülle die Text-Plane mit Text, so dass, sich die Scrollbar anfängt zu skalieren. Dann fahre ich mit der Maus auf die Scrollbar und bewege das Mausrad. Nothing happens! Somit kann ich deine Feststellung hier nicht nachvollziehen.

Eventuell ist der oben erwähnte nostalgische Setup dafür verantwortlich. Für mich kein Problem da ich es trotzdem zu laufen bringe.

Vielleicht können das obige Codestück noch ander Forumkollegen auf einem Linux austesten und ihre Erfahrung mitteilen.

Gruss wuf :wink:
Take it easy Mates!
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Ich starte dein Codestück auf meinem System auf das besteht aus:

OS = Linux 10.0
Python 2.4
Tkinter 8.4

--> Nicht lachen ich liebe das Nostalgische. (Ich hasse Spielereien nach Updates)
Ich finde, das gibt's gar nichts zu lachen. Wie heißt es so schön:
"Never change a running system". Mir geht's da ähnlich.

Im Unterschied zu dir habe ich aber eine aktuellere Python-Version auf meinem betagten System installiert (OpenSUSE 10.0). Da es über die rpm-Pakete nicht ohne weiteres klappt (zu viele Abhängigkeiten etc.), habe ich ActivePython 2.5.1 von http://www.activestate.com im Einsatz.
Das lässt sich problemlos und ohne Komplikationen auch parallel zum vorhandenen Python 2.4 installieren.
Ich überfülle die Text-Plane mit Text, so dass, sich die Scrollbar anfängt zu skalieren. Dann fahre ich mit der Maus auf die Scrollbar und bewege das Mausrad. Nothing happens! Somit kann ich deine Feststellung hier nicht nachvollziehen.
Bei mir gilt für genau den gleichen Fall: Something happens - wie im letzten Posting beschrieben.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

OK pütone

Vielen Dank für deine Tipps und Anregungen. Da muss in der Zwischenzeit auf Ebene Tk bzw. Tcl irgendwie ein Face-Lifting stattgefunden haben Hi. Ich werde demnächst einmal den aktuellsten Setup auf einer Quarantäne-Station aufsetzen und das ganze austesten. Hoffe damit auch die neusten features erleben zu dürfen.

Sorry, wenn meine Codeshnippes manchmal Zeilen aufweisen die sinnlos erscheinen. Aber das ergibt sich einfach, wenn man ohne Stirnlampe Höhlenforschung betreibt und ein Baby zum sprechen bringen muss.

OK pütone wünsche dir noch alles Gute.

Gruss wuf :wink:
Take it easy Mates!
Antworten