Hello, Thanks for all the great work on pyside. I've been using PySide in the latest enthought python distribution (7.1-2) and on my ubuntu laptop using the pyside PPA. I do interactive signal analysis and would like to incorporate pyside into my programs along with ipython. One feature that is quite nice about Tkinter and PyQt is that you can continue to run and interact with python at the command line while running gui widgets.
When I try this from python's interpreter or from ipython (version 0.11) with pyside, the interpreter blocks while the gui elements are active. I looked into why by digging through the ipython code and it looks like it tries to invoke something called QtCore.pyqtRestoreInputHook(). This doesn't exist in PySide. Looking at the _tkinter.c code, it seems this is done via python's C-API using a pointer, PyOS_InputHook. I'd never heard of it before, but the way it appears to work, is that while python is waiting for text input, it calls this function to do idle processing--allowing for gui event processing during these idle times. I was hoping that PySide could include support for this. Perhaps it already does but I didn't find it? In an effort to get things working in my use case and to be helpful to the greater python/pyside cause, I have been experimenting with a prototype. Just as warning, it is written starting from a state of profound ignorance: I have only vague memories of Qt's and python's threading model and this is first use of Qt's QCoreApplication::processEvents() . I've made a couple of guesses about what QCoreApplication and processEvents did. Surprisingly, after some experimentation, my prototype appears to work, at least in a few individual cases I've tried. My development platform is python 2.7 on linux x86_64 (ubuntu 10.10) using pyside 1.05. I linked it to Qt 4.7.3 and libpython2.7 but doesn't depend on the pyside code, just Qt. If I knew how to use ctypes to access C++ libraries, it probably wouldn't even require the compilation step. ipython uses git, so I've put the repo at http://github.com/cleemesser/qt_pyos_input_hook Comments are welcome. However, I don't really have time right now to directly contribute to PySide because of my other duties. I did a quick look through on shiboken and company and it seemed I was unlikely to make it through before I ran out of weekend tim. I'm hoping that a PySide wizard might be able to use my code as motivation to easily add the equivalent functions directly to PySide :-) -chris _______________________________________________ PySide mailing list [email protected] http://lists.pyside.org/listinfo/pyside
