[Tkinter-discuss] Non-Rectangular Windows Help

Michael Lange klappnase at web.de
Thu Sep 15 22:07:01 CEST 2005


On Thu, 15 Sep 2005 06:58:29 -0700 (PDT)
Sajjad Hussain <shussai2 at yahoo.com> wrote:

> Hi,
> 
> I am repeating this question again. I was told that
> there is a library available that allows you to create
> non-rectangular windows in Python-Tkinter (like the
> Windows Media Player). Can anyone please tell me if
> there is any other library available or how to install
> this.
> 
> I am trying to install tkdnd and its tkinter wrapper
> available from these sites 
> 
> http://sourceforge.net/projects/tkdnd
> 
> http://www.8ung.at/klappnase/TkinterDnD/TkinterDnD.html
> 
> I have placed the TkinterDnD.py in the lib-Tk folder
> of Python. I have also unzipped and placed the
> tkdnd-1.0a2 (contains the demo, lib, doc folders)
> folder in  Tcl\lib folder. There are two dlls
> available. They are: libtkdnd.dll and libtkdnd10.dll.
> I am not to sure where to place them. 
> 
> Now when I type the following commands, I get the
> error shown below:
> 
> >>> from Tkinter import *
> >>> import TkinterDnD
> >>> root = TkinterDnD.Tk()
> 
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in ?
>   File "c:\Python23\lib\TkinterDnD.py", line 104, in
> __init__
>     self.tk.eval('package require tkdnd')
> TclError: can't find package tkdnd
> 
> Can anyone please tell me what I am doing wrong. 

Hi Sajjad,

the problem is here that Tk cannot find the tkdnd-dll's; I don't have a windows
box at hand, so `im not sure about the directory structure on windows.
On my linux box it looks like this:

The main tcl / tk libraries are in /usr/lib:

   /usr/lib/libtk8.4.so.0

etc. 

In the same directory there's a folder

    /usr/lib/tk8.4/

which contains Tk's .tcl files.

I put the tkdnd folder at the same level into 

    /usr/lib/tkdnd1.0/

so the tkdnd library sits at :

    /usr/lib/tkdnd1.0/libtkdnd1.0.so

Maybe your problem is that you just copied the whole package to your Tcl\lib folder
and now it looks like:

   ...Tcl\lib\tkdnd\lib\tkdnd\tkdnd.dll

If this is the case, try something like:

   ...Tcl\lib\tkdnd\tkdnd.dll

or

   ...Tcl\lib\tkdnd.dll

I'm sorry I cannot give you some better advice, but I hope this helps anyway.

Regards

Michael



More information about the Tkinter-discuss mailing list