467,911 Members | 1,376 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,911 developers. It's quick & easy.

Pmw.Balloon under Windows

Hello everyone,

I'm encountering a weird problem and couldn't find any Internet
postings
that are relevant to my problem and it seems coming from the Pmw
Balloon
widget inside.

I have developed a Tkinter software using Pmw.
The software is being developed under Solaris but is targeting all
platforms
including Windows.

The software is working fine under Solaris 9.
However, when I tried it under Windows, it worked also fine but it spit
out
the following error message when exiting.

(from cygwin terminal)

% c:/Python23/python my_app.py

This application has requested the Runtime to terminate it in an
unusual way.
Please contact the application's support team for more information.

(the same error message is observed when I run the program directly in
Windows XP environment.)
//

First, I thought I screwed up something because it was working fine
before
with my older software version.

After painful investigation, I found Pmw.Balloon was causing this
problem
(because the problem went away if I commented out all balloon
statements).

Then I compared my usages and Pmw Balloon example because the example
didn't
cause this. (http://pmw.sourceforge.net/doc/Balloon.html)

But I didn't see any problem in my coding.

//

Then I found two clues:
(1) The problem won't occur if I quit the program by clicking 'X' of
the Window decoration. (not from Quit in the Menu)

(2) The Pmw Balloon example has the exact same problem *if*
I change the program to quit using widget quit() method.

self.suicide = Tkinter.Button(frame, text='Kill me soon!',
command = parent.quit) # this causes the problem
# command = self.killButton) # The original one

Of course, the problem is occurring only under Windows. (Windows
XP/Cygwin)

//

My questions are:
(1) Why my program is complaining and is there any workaround?

(2) What is the difference between using widget quit() method
and using Windows 'X' button.
- I know clicking Windows 'X' button generates an event but I thought
- ultimately it reached to the same routine to terminate the program.

(3) Is it possible to fake clicking 'X' button?
I see a widget has event_generate() method.

//

Any feedbacks, comments are highly appreciated.
It would be nice if you can send your reply to <ak*****@pacbell.net> .

Thank you for your attention.

Best regards,
Aki Niimura

Jul 18 '05 #1
  • viewed: 2228
Share:
2 Replies
On 16 Feb 2005 10:51:27 -0800, Aki Niimura <ak*****@pacbell.net> wrote:
[snip]
The software is working fine under Solaris 9.
However, when I tried it under Windows, it worked also fine but it spit
out
the following error message when exiting.

(from cygwin terminal)

% c:/Python23/python my_app.py

This application has requested the Runtime to terminate it in an
unusual way.
Please contact the application's support team for more information.

(the same error message is observed when I run the program directly in
Windows XP environment.)
// [snip] After painful investigation, I found Pmw.Balloon was causing this
problem
(because the problem went away if I commented out all balloon
statements).

Then I compared my usages and Pmw Balloon example because the example
didn't
cause this. (http://pmw.sourceforge.net/doc/Balloon.html)
I used the Pmw.Balloon quite a lot and never see any problem.

One question: what Python do you use? Is it a regular Windows Python distribution or the Python delivered with Cygwin? I know by experience that the Python in Cygwin has quite a lot of problems (mine crashes *very* often). If you don't already use a "regular" Windows distro, I think using one may solve your problem.
My questions are:
(1) Why my program is complaining and is there any workaround?

(2) What is the difference between using widget quit() method
and using Windows 'X' button.
- I know clicking Windows 'X' button generates an event but I thought
- ultimately it reached to the same routine to terminate the program.
I think the default binding for the 'X' button is to call destroy, not quit. Calling destroy on the main window is almost equivalent to calling quit, so maybe it can be a solution?
(3) Is it possible to fake clicking 'X' button?
I see a widget has event_generate() method.


Not that I know of. The event_generate method won't help here, because the 'X' button is handled by the window manager, and not by the application. It's a bit more complicated on Windows (as usual...) since there is no "real" window manager, but from the tk/Tkinter point of view, the result is the same: you can't "fake" a window manager event using event_generate.
BTW, what are the versions of Python, tk and Pmw you're using?

HTH a little...
- Eric Brunel -
Jul 18 '05 #2

Eric Brunel wrote:
One question: what Python do you use? Is it a regular Windows Python
distribution or the Python delivered with Cygwin? I know by experience that the Python in Cygwin has quite a lot of problems (mine crashes *very* often). If you don't already use a "regular" Windows distro, I think using one may solve your problem.
Yes, I noticed the difference. I'm using the Python 2.3.5 installed on
Windows.
(Pmw 1.2)
I think the default binding for the 'X' button is to call destroy, not quit. Calling destroy on the main window is almost equivalent to calling quit, so maybe it can be a solution?
I have tried calling root.destroy() as you suggested. It worked.
My application is now not generating the error message.
Thank you for your suggestion.
Not that I know of. The event_generate method won't help here, ...


Good to know that.

I think Window is a different beast as it doesn't have a window
manager.

Thank you,
Aki Niimura

Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Daniel Bickett | last post: by
1 post views Thread by Reuben | last post: by
reply views Thread by sanjana | last post: by
5 posts views Thread by Edwin Knoppert | last post: by
2 posts views Thread by Andrea V.F. | last post: by
reply views Thread by Eric | last post: by
1 post views Thread by MrNobody | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.