PyQT or wxPython on win64?

62 views
Skip to first unread message

Stefan Kubicek

unread,
Sep 21, 2008, 3:48:16 PM9/21/08
to X...@softimage.com
I'm looking into building cross-platform GUI's in XSI (that is: Win and
Linux 32 and 64 bit) using Python and found
no decent GUI kit that would support all of these. PyQT and wxPython only
seem to support 32bit on Windows, and PyWin
only exists on Windows afaik.

This leaves only TkInter as an allround option, but I'm avoiding that like
the plague.

So I started digging around for a 64bit Windows version of PyQt or
wxPython, but had no luck so far.
The only solution atm seems to compile PyQT or wxPython for Win64 myself,
but having read the documentation
on how to compile wx and qt combined with the fact that I never ever
compiled anything before makes me feel like I'd
rather not go down that road.

Long story short: Can ne1 recommend a suitable cross platform GUI lib for
Python that's not Tk, or alternatively,
point me in the right direction of a downloadable version of PyQT and/or
wx for Windows64?

Thanks a lot,

Stefan

--
Stefan Kubicek
www.tidbit-images.com
---
Unsubscribe? Mail Majo...@Softimage.COM with the following text in body:
unsubscribe xsi

Alan Jones

unread,
Sep 21, 2008, 4:21:47 PM9/21/08
to X...@softimage.com
Hi Stefan,

I can confirm Qt builds no problem on linux64 - though I've never
tried with python (though
PyQt on linux 64 is available in a repo for most distros anyway).

I've compiled Qt on windows (though just 32bit) and it's not a problem
- it's build system is
pretty good actually (though I tend to use CMake for things rather
than Qt's qmake). The
place I'd recommend starting is
http://sourceforge.net/project/showfiles.php?group_id=202880
A project to get a win64 package of mingw, given it's the compiler
most often used for Qt
projects it's a good place to start. Then grab the source and give it
a swing.Once you've got
that sorted I guess it's down to getting the python bindings working.

I'd be interested to hear if you do get a win64 compile of Qt using
that as I've not looked much
into 64bit versions of Qt applications on windows.

Cheers,

Alan.

Steven Caron

unread,
Sep 21, 2008, 5:23:26 PM9/21/08
to X...@softimage.com
i am wondering if you found a solution for getting the event loops to
work with each other? and if you do would you mind sharing your
experience?

a coworker has been stuck getting pyqt GUIs working in xsi.

thanks
steven

On Sep 21, 2008, at 12:48 PM, "Stefan Kubicek" <x...@tidbit-images.com>
wrote:

> I'm looking into building cross-platform GUI's in XSI (that is: Win

Stefan Kubicek

unread,
Sep 22, 2008, 3:02:02 AM9/22/08
to X...@softimage.com
Thanks for the response guys.
I'll let you know what I get out of it, but that might take a few days
before I really get to it.

Just out of curiosity: Has any one ever looked at Pywin? Won't work on
Linux of course, but
the GUI libs look pretty complete.

Thanks a gain,

Stefan

>> --Stefan Kubicek

Jules Stevenson

unread,
Sep 22, 2008, 4:00:48 AM9/22/08
to X...@softimage.com
> i am wondering if you found a solution for getting the event loops to
> work with each other? and if you do would you mind sharing your
> experience?
>
> a coworker has been stuck getting pyqt GUIs working in xsi.

I've no idea if this helps or not, but this reminded me about a thread on
the maya python list, this is a py script that ships with maya relating to
getting QT running [I think]:

#Creation Date: (July 16, 2007)
#Author: John Creson
import maya.cmds as cmds
import maya.utils as utils
import threading
import time
import sys
from PyQt4 import QtCore, QtGui


pumpedThread = None
app = None


def pumpQt():

global app
def processor():
app.processEvents()

while 1:
time.sleep(0.01)
utils.executeDeferred( processor )

def initializePumpThread():
global pumpedThread
global app
if pumpedThread == None:
app = QtGui.QApplication(sys.argv)
pumpedThread = threading.Thread( target = pumpQt, args = ()
)
pumpedThread.start()

Steven Caron

unread,
Sep 22, 2008, 3:40:07 PM9/22/08
to X...@softimage.com
thanks i will look into this

steven

Jules Stevenson

unread,
Oct 3, 2008, 3:53:44 PM10/3/08
to X...@softimage.com
Hi Steven and all,

Sorry to drag this up again, just spent all day compiling QT for vista 64
[first thing I've ever compiled, and not actually too bad - I'll try and get
the appropriate steps together if people think it will be useful].

Qt seems to behave itself perfectly when running from python direct [ie .py
scripts or from the interpreter], but I can't get anything to actually
happen from within XSI - Steven [or anyone else], would you care to share
any knowledge you've got for integrating this kind of thing? Or any actual
scripts for getting a QT window up and functioning.

Many thanks all,

Jules

Steven Caron

unread,
Oct 3, 2008, 4:32:34 PM10/3/08
to X...@softimage.com
we haven't got anything running either... but our programmer eric is very very close. i dont know all the details but i had a conversation with him recently.

he was mentioning to me you have to intercept events from the qt app because xsi is ignoring them. he said something about when you click a button in the qt app, xsi steals this so part of the signal in qt needs to tell the qt app its button has been pushed. you also need keyup and keydown event plugins for xsi to manage those events being sent to qt and not xsi. so when your mouse is over the qt app key strokes are sent to the qt app.

i would explore win32gui library and pyHook library if you want to do this in pure python/pyQT

i hope once we get this working and working well, we will release it to our blurbeta tools, but this is ultimately up to the developer and blur

steven

Jules Stevenson

unread,
Oct 3, 2008, 5:03:29 PM10/3/08
to X...@softimage.com
Thanks Steven,

> we haven't got anything running either... but our programmer eric is
> very very close. i dont know all the details but i had a conversation
> with him recently.
>
> he was mentioning to me you have to intercept events from the qt app
> because xsi is ignoring them. he said something about when you click a
> button in the qt app, xsi steals this so part of the signal in qt needs
> to tell the qt app its button has been pushed. you also need keyup and
> keydown event plugins for xsi to manage those events being sent to qt
> and not xsi. so when your mouse is over the qt app key strokes are sent
> to the qt app.

Ok, simple sounding this is not :).

> i would explore win32gui library and pyHook library if you want to do
> this in pure python/pyQT

So I'm guessing relying on win32gui is going to kill any of the cross
platform Qt goodness?

> i hope once we get this working and working well, we will release it to
> our blurbeta tools, but this is ultimately up to the developer and blur

That would be very cool, but understand if not possible.

Cheers,

Jules

Steven Caron

unread,
Oct 3, 2008, 5:09:55 PM10/3/08
to X...@softimage.com
So I'm guessing relying on win32gui is going to kill any of the cross
platform Qt goodness?

well ya i guess, but you maybe able to find a linux library that does the same stuff.

thing is we use 3dsmax here so no linux option... we are looking into qt for unify GUIs across the applications and tools that are generic production management, again all under windows.

steven
Reply all
Reply to author
Forward
0 new messages