By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,767 Members | 1,995 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,767 IT Pros & Developers. It's quick & easy.

some advice about Python GUI apps

P: n/a
Hi,

I am writing a program in Python and I am using wx.Python for the GUI.
I have no prior GUI and Python experience so that's why I turn to the
specialists for aid.
Basically, my app is a wx.tree object with items. You can click on each
item and set some properties of the item (Pydata). To set the
properties of an item you click on the item and then a 'Set item
properties' window pops up.
However, I am looking for a way that you can only open 1 property
window per item. If I click on an item the 'Set item properties'
windows open but when I return to the tree window and select the same
item, I can open an additional 'set properties' window. This leads to
all kind of C++ errors because these properties windows seems to
interfere for some reason. I don't have enough OO/Python/GUI knowledge
yet to fully understand what actually happens.
Basically, what I want is that when you want to open an items property
window and the window is alread open that in stead of opening a new
window, the window the is already open pops to the foreground. Any
ideay how I can implement this.

Another solution would be to start the properties windows in a
'synchronous' mode, meaning that if this window is open, that you can't
manipulate the tree window anymore (~like in Word when you open the
'open file' window, you can't edit your doc until you this window is
closed again).

I hope this makes some sense.

Any help much appreciated.

Kris

Ps.: any refs to good OO/Python GUI books are also welcome (or URLs)

Sep 14 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
On 14 Sep 2005 04:26:11 -0700, mi*****@skynet.be wrote:
Hi,

I am writing a program in Python and I am using wx.Python for the GUI.
I have no prior GUI and Python experience so that's why I turn to the
specialists for aid.
Hello Kris,

I think the specialists are in the wxPython-mailing list ;)
http://www.wxpython.org/maillist.php
Basically, my app is a wx.tree object with items. You can click on each
item and set some properties of the item (Pydata). To set the
properties of an item you click on the item and then a 'Set item
properties' window pops up.
You mean a wx.TreeCtrl?
I don't understand exactly what you mean with "properties".
Do you have a sample program?
Sorry for not helping much.
However, I am looking for a way that you can only open 1 property
window per item. If I click on an item the 'Set item properties'
windows open but when I return to the tree window and select the same
item, I can open an additional 'set properties' window.
This leads to
all kind of C++ errors because these properties windows seems to
interfere for some reason. I don't have enough OO/Python/GUI knowledge
yet to fully understand what actually happens.
Basically, what I want is that when you want to open an items property
window and the window is alread open that in stead of opening a new
window, the window the is already open pops to the foreground. Any
ideay how I can implement this.

Another solution would be to start the properties windows in a
'synchronous' mode, meaning that if this window is open, that you can't
manipulate the tree window anymore (~like in Word when you open the
'open file' window, you can't edit your doc until you this window is
closed again).
Is the properties window a wx.Dialog?
If you show it with ShowModal(), then you must
finish with it, before you can select another tree node.
I hope this makes some sense.

Any help much appreciated.

Kris

Ps.: any refs to good OO/Python GUI books are also welcome (or URLs)


There is a wxPython book in process, and it is publication is estimated
around end of this year.
--
Franz Steinhaeusler
Sep 14 '05 #2

P: n/a
Hi,

the properties of the items are just virtual properties like e.g.
color, icon, gender.
Just image that an item represent a human. You can then click on the
item and start a 'Set Human Properties' windows (a frame with a
Notebook object with multiple tabs).
In the 'Set Human Properties' window you then have multiple properties
you can set/change like e.g. hair color, gender, skin tone, ... stuff
like that.

Sep 14 '05 #3

P: n/a
I'm not sure but wouldn't the simplest(perhaps) solution be to store a
reference to all the dialogs you open up in a mapped array of some
kind (dictionary) and whenever you are going to open up a dialog you
check if it already exists a key matching whatever id you choose. If
it exists then use the window refernce in there to make it go to
front, else make a new, shove it in there with an id(key) of some kind
and display it.

Perhaps I misunderstood the question though.

On 14 Sep 2005 04:26:11 -0700, mi*****@skynet.be <mi*****@skynet.be> wrote:
Hi,

I am writing a program in Python and I am using wx.Python for the GUI.
I have no prior GUI and Python experience so that's why I turn to the
specialists for aid.
Basically, my app is a wx.tree object with items. You can click on each
item and set some properties of the item (Pydata). To set the
properties of an item you click on the item and then a 'Set item
properties' window pops up.
However, I am looking for a way that you can only open 1 property
window per item. If I click on an item the 'Set item properties'
windows open but when I return to the tree window and select the same
item, I can open an additional 'set properties' window. This leads to
all kind of C++ errors because these properties windows seems to
interfere for some reason. I don't have enough OO/Python/GUI knowledge
yet to fully understand what actually happens.
Basically, what I want is that when you want to open an items property
window and the window is alread open that in stead of opening a new
window, the window the is already open pops to the foreground. Any
ideay how I can implement this.

Another solution would be to start the properties windows in a
'synchronous' mode, meaning that if this window is open, that you can't
manipulate the tree window anymore (~like in Word when you open the
'open file' window, you can't edit your doc until you this window is
closed again).

I hope this makes some sense.

Any help much appreciated.

Kris

Ps.: any refs to good OO/Python GUI books are also welcome (or URLs)

--
http://mail.python.org/mailman/listinfo/python-list

Sep 14 '05 #4

P: n/a
Hi Kris,
I used several GUI's, also wx.
You should look at eric3, it's by far the best of all.
http://www.die-offenbachs.de/detlev/eric3.html
Eric3 uses Qt. Qt is also great with C++.
I ported a major Python project from Windows to Linux under Python-Qt
and encountered no problem whatsoever.
I use eric3 with Novell/SuSE Pro 9.3. All you need is already there.
Good luck,
malv

Sep 15 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.