[PyQt] Problem with a simple JavaScript cionnection

2009-04-23 Thread projetmbc
Hello, I give a very simple HTML page with a very little Javascript. I 
would klike to do two things :

   1) Read in a PyQt application the javascript variable nom.
   2) Define a slot wich will tell to the PyQt application that the 
function affiche() has been called.


Best regards and sorry for this question but JavaScript-PyQt is very 
hard I understand for me.

Christophe

CODE
==
html
   head
   script type=text/javascript
   nom = '';
   function affiche(){
   for(var i=0; idocument.images.length;i++){
   
document.images[i].onclick=function(){nameImage(this.alt)}

   }
   }
   function nameImage(text){
   nom = text;
   test()
   }
   /script
   /head

   body onload=affiche()
   img src=im_1.jpg name=images1 width=256 height=192 
border=1 alt=im_1
   img src=im_2.jpg name=images2 width=609 height=457 
border=1 alt=im_2

   /body
/html

	

	
		
		
	
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] Parenting a PyQt window to another application

2009-04-23 Thread Scott Ballard

Hi,

I'm trying to find a way to parent a PyQt (QMainWindow) to another 
application. In my case, I have PyQt running in Autodesk Maya and am 
trying to get the PyQt window to parent to Maya's main window (so that 
it raises/restores with Maya's window)


I was able to get the PyQt window to parent to Maya's main window using 
the Python win32gui module (GetActiveWindow(), GetParent() and 
SetParent()). I am able to move the border of the window around the Maya 
interface but the window doesn't redraw correctly and none of the 
menus/buttons work.


Any suggestions are appreciated!
-Scott


__ Information from ESET NOD32 Antivirus, version of virus signature 
database 4029 (20090422) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Help with New qtdemo Example

2009-04-23 Thread Phil Thompson
I'd like to replace the old PyQt qtdemo with a port of the one that comes
with newer versions of Qt. This is the wrapper application which launches
all the individual examples.

I've translated all the C++ code to Python (and got rid of the syntax
errors) - it just needs debugging!

If anybody would like to take this on then let me know.

You can find the source in the current snapshot in the
examples/demos/qtdemo directory. (The older version is in the
examples/tools/qtdemo directory.)

Thanks,
Phil
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] RuntimeError: underlying C/C++ object has been deleted

2009-04-23 Thread Alexandr N Zamaraev

Os Windows Vista Home Ru + sp1
g++ (GCC) 3.4.5 (mingw-vista special r3)
Qt 4.5 (self build)
sip-4.7.9 (self build)
PyQt-win-gpl-4.4.4.zip (self build)

I was unable to allocate a minimum example. Here is pseudocode situations:
[code]

class BaseData(QObject):
  def save(self, obj):
self.emit(QtCore.SIGNAL('datat_change'), obj)

class Model(QAbstractItemModel):
  def __init__(self, data):
#  data Mast be derived from BaseData
self.connect(
  data, QtCore.SIGNAL('data_change'), self.__data_changes)

  def __data_changes(self, arg):
row = self.__getRowForArg(arg)
ind = self.createIndex(row, 0, self.objects[row]) #!!! RuntimeError

class Mixin(object):
  data = None #Mast be derived from BaseData
  result = None #Setup brfore accept()
  def __init__(self, ...):
...
  def initUi(self):
ui = self.__ui = Ui_DlgFrame()
ui.setupUi(self)
model = self.__model = self.Model(self.dataCls.singleton())
ui.tableView.setModel(model)

class DlgFrame(QDialog, Mixin):
  def __init__(self, data, parent=None, ...):
QDialog.__init__(self, parent)
Mixin.__init__(self, ...)
self.initUi()

  @classmethod
  def getRes(cls, parent ...):
frm = cls(parent, ...)
if frm.exec_() == QtGui.QDialog.Accepted:
  return frm._result
return None

class FinalDlg(DlgFrame, ...):
  # This class generated by function 'type'
  dataCls = FinalData #Derived from BaseData

class Main(QMainWindow):
  def __init__(self):
data = FinalData.singleton()

  @QtCore.pyqtSignature('')
  def on_btGetRes_clicked(self):
self.res = FinalDlg.getRes(self, ...)

  @QtCore.pyqtSignature('')
  def on_btSaveRes_clicked(self):
self.data.save(self.res)
[/code]
Scenario for reproduction:
start Application
press btGetRes
press btSaveRes

In PyQt-win-gpl-4.5-snapshot-20090419.zip error also.
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] RuntimeError: underlying C/C++ object has been deleted

2009-04-23 Thread Mads Ipsen
 Os Windows Vista Home Ru + sp1
 g++ (GCC) 3.4.5 (mingw-vista special r3)
 Qt 4.5 (self build)
 sip-4.7.9 (self build)
 PyQt-win-gpl-4.4.4.zip (self build)

 I was unable to allocate a minimum example. Here is pseudocode situations:
 [code]

 class BaseData(QObject):
def save(self, obj):
  self.emit(QtCore.SIGNAL('datat_change'), obj)

 class Model(QAbstractItemModel):
def __init__(self, data):
  #  data Mast be derived from BaseData
  self.connect(
data, QtCore.SIGNAL('data_change'), self.__data_changes)

def __data_changes(self, arg):
  row = self.__getRowForArg(arg)
  ind = self.createIndex(row, 0, self.objects[row]) #!!! RuntimeError

 class Mixin(object):
data = None #Mast be derived from BaseData
result = None #Setup brfore accept()
def __init__(self, ...):
  ...
def initUi(self):
  ui = self.__ui = Ui_DlgFrame()
  ui.setupUi(self)
  model = self.__model = self.Model(self.dataCls.singleton())
  ui.tableView.setModel(model)

 class DlgFrame(QDialog, Mixin):
def __init__(self, data, parent=None, ...):
  QDialog.__init__(self, parent)
  Mixin.__init__(self, ...)
  self.initUi()

@classmethod
def getRes(cls, parent ...):
  frm = cls(parent, ...)
  if frm.exec_() == QtGui.QDialog.Accepted:
return frm._result
  return None

 class FinalDlg(DlgFrame, ...):
# This class generated by function 'type'
dataCls = FinalData #Derived from BaseData

 class Main(QMainWindow):
def __init__(self):
  data = FinalData.singleton()

@QtCore.pyqtSignature('')
def on_btGetRes_clicked(self):
  self.res = FinalDlg.getRes(self, ...)

@QtCore.pyqtSignature('')
def on_btSaveRes_clicked(self):
  self.data.save(self.res)
 [/code]
 Scenario for reproduction:
 start Application
 press btGetRes
 press btSaveRes

 In PyQt-win-gpl-4.5-snapshot-20090419.zip error also.
 ___
 PyQt mailing listPyQt@riverbankcomputing.com
 http://www.riverbankcomputing.com/mailman/listinfo/pyqt



When you inherit from a Qt base class, you must always call the
constructor of the base class in the derived class. For example:

class BaseData(QObject):
  def __init__(self):
QObject.__init__(self)
...

class Model(QAbstractItemModel):
  def __init__(self, data):
QAbstractItemModel.__init__(self)
...

Best regards,

Mads
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] DBus dependancies (Jaunty)

2009-04-23 Thread Matthew Smith
I was compiling the latest snapshot for PyQt and I noticed dbus was
being included, so I use the -s option to find dbus.

python configure.py -s /usr/include/dbus-1.0/

The directory with dbus-python.h is actually:

/usr/include/dbus-1.0/dbus/

The next problem I had  I think is with the dbus-python.h file itself.
It requires the header file:

dbus-arch-deps.h

which exists but it is in:

/usr/lib/dbus-1.0/include/dbus/

So I made a symbolic link to the file, everything seemed to compile
after that.

mbs

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] splitting windows

2009-04-23 Thread Mads
Hi all

I have an application with a Graphicsscene with different objects. I want to be 
able to split the scene into several views so I can work in different zoom 
levels. If I change something in one splitwindow it should be changed in every 
window, so I need to render the same scene in different views and zoom levels. 
So my question is, is it possible to add such a feature to the scene, and which 
way is the best way to proceed?


hope anyone have some good ideas.

Thanks in advance

Mads



  ___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] Qt Animation Framework with PyQT?

2009-04-23 Thread Allen Bierbaum
Is anyone using the Qt Animation Framework with PyQT?

(http://labs.trolltech.com/blogs/2009/04/23/qt-animation-framework-23-is-out/,
http://www.qtsoftware.com/products/appdev/add-on-products/catalog/4/Utilities/qtanimationframework/)

I am very interested in using it with PyQT and wondered if anyone else
had tried with success.

-Allen
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] segfault when using a proxy and SIGNAL( clicked(QModelIndex) )

2009-04-23 Thread Darren Dale
On Mon, Apr 13, 2009 at 3:43 PM, Darren Dale dsdal...@gmail.com wrote:



 On Mon, Apr 13, 2009 at 3:11 PM, Andreas Pakulat ap...@gmx.de wrote:

 On 13.04.09 10:27:56, Darren Dale wrote:
  On Mon, Apr 13, 2009 at 9:58 AM, Andreas Pakulat ap...@gmx.de wrote:
   On 13.04.09 14:11:46, Arnold Krille wrote:
It is a pointer for internal purposes, that is internal for the
 model
so it can map indexes to the internal data structures. (And yes,
 that
is needed for anything except simple list or table models.:)
  
   nitpickThats not true actually, you can create the most complex
 model
   imaginable without using the internalPointer, simply by using the
   internalId and the related createIndex overload. That also
 automatically
   solves any problems created by python's refcounting+garbage collection
   (if you forget to store a reference to an object for the model in your
   model)
 
  Could you please sugggest an example of this approach, if you know of
 one?

 Thats easy, provide some way of hashing the objects in your tree, then
 use the hashnumber for the internal id. Often using id(yourobject) works
 quite well as internal id. Then all you need is a dict using the id as
 key and the real object as value, so you can easily look your object up.
 Or maybe your internal data layout already orders the objects in some
 way, then the searching through that tree might be efficiently possible
 and you don't need the dict at all. I don't have a pyqt source tree
 here, but I think the tree model example uses internalId for storing and
 identifier for each object.


 Ok, I think I get it, thank you. When I get time, I'll improve the example
 I posted in the other thread and share it with the list.


I'm sorry, I think I need to ask for a little more clarification. After
failing to convert my own code to use InternalId() instead of
internalPointer, I decided it would be more instructive to convert the
simpletreemodel example distributed with PyQt4 to use internalId. I am
attaching that example, which fails with the repeated errors below. Could
anyone have a look and suggest how it should be improved? It requires other
files that ship with the original PyQt4 simpletreemodel example.

Thanks,
Darren

Traceback (most recent call last):
  File simpletreemodel.py, line 124, in parent
childItem = self.idMap[index.internalId()]
KeyError: 754744568L
Traceback (most recent call last):
  File simpletreemodel.py, line 124, in parent
childItem = self.idMap[index.internalId()]
KeyError: 754744568L
Traceback (most recent call last):
  File simpletreemodel.py, line 124, in parent
childItem = self.idMap[index.internalId()]
KeyError: 754744568L
Traceback (most recent call last):
  File simpletreemodel.py, line 139, in rowCount
parentItem = self.idMap[parent.internalId()]
KeyError: 754744568L
Traceback (most recent call last):
  File simpletreemodel.py, line 89, in data
item = self.idMap[index.internalId()]
KeyError: 754744568L
Traceback (most recent call last):
  File simpletreemodel.py, line 89, in data
item = self.idMap[index.internalId()]
KeyError: 754744568L
#!/usr/bin/env python

***
**
** Copyright (C) 2005-2005 Trolltech AS. All rights reserved.
**
** This file is part of the example classes of the Qt Toolkit.
**
** This file may be used under the terms of the GNU General Public
** License version 2.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of
** this file.  Please review the following information to ensure GNU
** General Public Licensing requirements will be met:
** http://www.trolltech.com/products/qt/opensource.html
**
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://www.trolltech.com/products/qt/licensing.html or contact the
** sales department at sa...@trolltech.com.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
***

import sys
from PyQt4 import QtCore, QtGui

import simpletreemodel_rc


class TreeItem:
def __init__(self, data, parent=None):
self.parentItem = parent
self.itemData = data
self.childItems = []

def appendChild(self, item):
self.childItems.append(item)

def child(self, row):
return self.childItems[row]

def childCount(self):
return len(self.childItems)

def columnCount(self):
return len(self.itemData)

def data(self, column):
return self.itemData[column]

def parent(self):
return self.parentItem

def row(self):
if self.parentItem:
return self.parentItem.childItems.index(self)

return 0


class TreeModel(QtCore.QAbstractItemModel):
def __init__(self, 

Re: [PyQt] Eric crashes in Debian testing (problem and fix)

2009-04-23 Thread Detlev Offenbach
On Donnerstag, 23. April 2009, Gudjon I. Gudjonsson wrote:
 Hi
 I got the following bug report today:
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=525212

 Eric crashes at startup. The solution is to move/remove
 the .config directory. This is the second time I remove my
 .config directory, a week ago I spent meny hours on making
 vmware run until I found the problem.

 If anyone has any clue why this .config directory is so problematic
 I would like to know.

 Cheers
 Gudjon

 ___
 PyQt mailing listPyQt@riverbankcomputing.com
 http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Hi,

the .config directory is created by Qt when any application is using 
QSettings(). And that is, what eric4 does. Looking at the bug report on 
debian I think the QVariant problem seems to be related to a version mismatch 
between Qt/PyQt/sip.

Regards,
Detlev
-- 
Detlev Offenbach
det...@die-offenbachs.de
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Crash in siplib.c:findSlot, with test case and fix

2009-04-23 Thread Matt Newell

It seems if a wrapped class A has slots and a wrapped subclass B does not then 
an assert is triggered when calling a slot from A on an instance of B.

To build and run the test --

./build.sh
python test.py


findSlot function that fixes all problems for me

static void *findSlot(PyObject *self, sipPySlotType st)
{
sipPySlotDef *psd;
PyTypeObject *py_type = Py_TYPE(self);

if( PySequence_Check( py_type-tp_bases ) ) {
int i = 0, end = PySequence_Size( py_type-tp_mro );
for( ; i  end; i++ ) {
PyObject * type_o = PySequence_GetItem( 
py_type-tp_mro, i );
if( PyType_Check(type_o) ) {
PyTypeObject * py_type_to_check = 
(PyTypeObject*)type_o;

/* If it is not a wrapper then it must be an 
enum. */
if (PyObject_TypeCheck((PyObject 
*)py_type_to_check, 
sipWrapperType_Type))
psd = ((sipClassTypeDef 
*)((sipWrapperType *)
(py_type_to_check))-type)-ctd_pyslots;
else
{
assert(PyObject_TypeCheck((PyObject 
*)py_type_to_check, 
sipEnumType_Type));

psd = ((sipEnumTypeDef 
*)((sipEnumTypeObject *)
(py_type_to_check))-type)-etd_pyslots;
}
while (psd  psd-psd_func != NULL)
{
if (psd-psd_type == st)
return psd-psd_func;

++psd;
}
} else
printf( mro member not a type object\n );
}
}

assert(NULL);

/* This should never happen. */
return NULL;
}


slot_crash_test.tar.gz
Description: application/tgz
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] segfault when using a proxy and SIGNAL( clicked(QModelIndex) )

2009-04-23 Thread Darren Dale
On Thu, Apr 23, 2009 at 12:28 PM, Darren Dale dsdal...@gmail.com wrote:



 On Mon, Apr 13, 2009 at 3:43 PM, Darren Dale dsdal...@gmail.com wrote:



 On Mon, Apr 13, 2009 at 3:11 PM, Andreas Pakulat ap...@gmx.de wrote:

 On 13.04.09 10:27:56, Darren Dale wrote:
  On Mon, Apr 13, 2009 at 9:58 AM, Andreas Pakulat ap...@gmx.de wrote:
   On 13.04.09 14:11:46, Arnold Krille wrote:
It is a pointer for internal purposes, that is internal for the
 model
so it can map indexes to the internal data structures. (And yes,
 that
is needed for anything except simple list or table models.:)
  
   nitpickThats not true actually, you can create the most complex
 model
   imaginable without using the internalPointer, simply by using the
   internalId and the related createIndex overload. That also
 automatically
   solves any problems created by python's refcounting+garbage
 collection
   (if you forget to store a reference to an object for the model in
 your
   model)
 
  Could you please sugggest an example of this approach, if you know of
 one?

 Thats easy, provide some way of hashing the objects in your tree, then
 use the hashnumber for the internal id. Often using id(yourobject) works
 quite well as internal id. Then all you need is a dict using the id as
 key and the real object as value, so you can easily look your object up.
 Or maybe your internal data layout already orders the objects in some
 way, then the searching through that tree might be efficiently possible
 and you don't need the dict at all. I don't have a pyqt source tree
 here, but I think the tree model example uses internalId for storing and
 identifier for each object.


 Ok, I think I get it, thank you. When I get time, I'll improve the example
 I posted in the other thread and share it with the list.


 I'm sorry, I think I need to ask for a little more clarification. After
 failing to convert my own code to use InternalId() instead of
 internalPointer, I decided it would be more instructive to convert the
 simpletreemodel example distributed with PyQt4 to use internalId. I am
 attaching that example, which fails with the repeated errors below. Could
 anyone have a look and suggest how it should be improved? It requires other
 files that ship with the original PyQt4 simpletreemodel example.

 Thanks,
 Darren

 Traceback (most recent call last):
   File simpletreemodel.py, line 124, in parent
 childItem = self.idMap[index.internalId()]
 KeyError: 754744568L
 Traceback (most recent call last):
   File simpletreemodel.py, line 124, in parent
 childItem = self.idMap[index.internalId()]
 KeyError: 754744568L
 Traceback (most recent call last):
   File simpletreemodel.py, line 124, in parent
 childItem = self.idMap[index.internalId()]
 KeyError: 754744568L
 Traceback (most recent call last):
   File simpletreemodel.py, line 139, in rowCount
 parentItem = self.idMap[parent.internalId()]
 KeyError: 754744568L
 Traceback (most recent call last):
   File simpletreemodel.py, line 89, in data
 item = self.idMap[index.internalId()]
 KeyError: 754744568L
 Traceback (most recent call last):
   File simpletreemodel.py, line 89, in data
 item = self.idMap[index.internalId()]
 KeyError: 754744568L


I was confused about how QModelIndex works, I thought passing a hash to
createIndex meant that the hash was the index's internalId, but that is not
the case. So I was using the hash as my idMap key, when I should have been
using internalId. Here is a working script.
#!/usr/bin/env python

***
**
** Copyright (C) 2005-2005 Trolltech AS. All rights reserved.
**
** This file is part of the example classes of the Qt Toolkit.
**
** This file may be used under the terms of the GNU General Public
** License version 2.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of
** this file.  Please review the following information to ensure GNU
** General Public Licensing requirements will be met:
** http://www.trolltech.com/products/qt/opensource.html
**
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://www.trolltech.com/products/qt/licensing.html or contact the
** sales department at sa...@trolltech.com.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
***

import sys
from PyQt4 import QtCore, QtGui

import simpletreemodel_rc


class TreeItem:
def __init__(self, data, parent=None):
self.parentItem = parent
self.itemData = data
self.childItems = []

def appendChild(self, item):
self.childItems.append(item)

def child(self, row):
return self.childItems[row]

def childCount(self):
return len(self.childItems)

[PyQt] Issue Building Latest Snapshot

2009-04-23 Thread Aron Bierbaum
While trying to build the latest snapshot I had to manually add the
include directory for sip in the Makefile before I could compile
qpycore. Am I missing a command line flag, or is there something that
needs to be added/changed to the .pro file to know where sip is
located?

Thanks,
Aron
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] Issue Building Latest Snapshot

2009-04-23 Thread Phil Thompson
On Thu, 23 Apr 2009 15:50:55 -0500, Aron Bierbaum aronbierb...@gmail.com
wrote:
 While trying to build the latest snapshot I had to manually add the
 include directory for sip in the Makefile before I could compile
 qpycore. Am I missing a command line flag, or is there something that
 needs to be added/changed to the .pro file to know where sip is
 located?

Nothing's changed in the build system for weeks, if not months.

Phil
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] Crash in siplib.c:findSlot, with test case and fix

2009-04-23 Thread Matt Newell
On Thursday 23 April 2009 10:32:59 Matt Newell wrote:
 It seems if a wrapped class A has slots and a wrapped subclass B does not
 then an assert is triggered when calling a slot from A on an instance of B.

 To build and run the test --

 ./build.sh
 python test.py


 findSlot function that fixes all problems for me

 static void *findSlot(PyObject *self, sipPySlotType st)
 {
 sipPySlotDef *psd;
 PyTypeObject *py_type = Py_TYPE(self);

   if( PySequence_Check( py_type-tp_bases ) ) {
   int i = 0, end = PySequence_Size( py_type-tp_mro );
   for( ; i  end; i++ ) {
   PyObject * type_o = PySequence_GetItem( 
 py_type-tp_mro, i );
   if( PyType_Check(type_o) ) {
   PyTypeObject * py_type_to_check = 
 (PyTypeObject*)type_o;

   /* If it is not a wrapper then it must be an 
 enum. */
   if (PyObject_TypeCheck((PyObject 
 *)py_type_to_check,
 sipWrapperType_Type))
   psd = ((sipClassTypeDef 
 *)((sipWrapperType *)
 (py_type_to_check))-type)-ctd_pyslots;
   else
   {
   assert(PyObject_TypeCheck((PyObject 
 *)py_type_to_check,
 sipEnumType_Type));

   psd = ((sipEnumTypeDef 
 *)((sipEnumTypeObject *)
 (py_type_to_check))-type)-etd_pyslots;
   }
   while (psd  psd-psd_func != NULL)
   {
   if (psd-psd_type == st)
   return psd-psd_func;

   ++psd;
   }
   } else
   printf( mro member not a type object\n );
   }
   }

 assert(NULL);

 /* This should never happen. */
 return NULL;
 }



My fix fixes the test case but causes a crash with
QTreeWidgeItem() == None

so it's obviously not a solution.

Calling QTreeWidgetItem() == None without my change it ends up returning NULL 
from findSlot which the comment indicates should never happen.

Matt





___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] Issue Building Latest Snapshot

2009-04-23 Thread Aron Bierbaum
If I configure PyQt with the following settings, keep in mind sip is
not installed in default system Python location. I get the error shown
below.

C:\p5\p5_deps\pyqt\vendor_base\win32python configure.py
--bindir=C:\p5\p5_deps\pyqt\install_win32_vc90\bin
--destdir=C:\p5\p5_deps\pyqt\install_win32_vc90\lib\python2.6\site-packages
--sipdir=C:\p5\p5_deps\pyqt\install_win32_vc90\share --confirm-license
--verbose --vendorid
--vendorid-incdir=C:\p5\p5_deps\vendorid\install_win32_vc90\include
--vendorid-libdir=C:\p5\p5_deps\vendorid\install_win32_vc90\Lib


   cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -GL -GR -EHsc -W3 -w34100
-w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG
-DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT
-Ic:\Qt\4.5.0\include\QtCore -Ic:\Qt\4.5.0\include\QtGui
-Ic:\Qt\4.5.0\include -Ic:\Python26\include -I..\..\QtCore
-Ic:\Qt\4.5.0\include\ActiveQt -Irelease -I.
-Ic:\Qt\4.5.0\mkspecs\default -Forelease\
@C:\DOCUME~1\ARONB~1.PRI\LOCALS~1\Temp\nm5C.tmp qpycore_chimera.cpp
..\..\QtCore\sipAPIQtCore.h(43) : fatal error C1083: Cannot open
include file: 'sip.h': No such file or directory
qpycore_chimera_signature.cpp
..\..\QtCore\sipAPIQtCore.h(43) : fatal error C1083: Cannot open
include file: 'sip.h': No such file or directory
qpycore_chimera_storage.cpp

If I manually modify the qpy\QtCore\Makefile.Release file to list the
sip include directory it compiles correctly.

INCPATH   = -Ic:\Qt\4.5.0\include\QtCore
-Ic:\Qt\4.5.0\include\QtGui -Ic:\Qt\4.5.0\include
-Ic:\Python26\include -I..\..\QtCore
-Ic:\Qt\4.5.0\include\ActiveQt -Irelease -I.
-Ic:\Qt\4.5.0\mkspecs\default
-IC:\p5\p5_deps\sip\install_win32_vc90\include\python2.6

Any ideas what could be going wrong? Is there something that I am
configuring incorrectly? Maybe I built sip incorrectly?

Thanks,
Aron

On Thu, Apr 23, 2009 at 4:32 PM, Phil Thompson
p...@riverbankcomputing.com wrote:
 On Thu, 23 Apr 2009 15:50:55 -0500, Aron Bierbaum aronbierb...@gmail.com
 wrote:
 While trying to build the latest snapshot I had to manually add the
 include directory for sip in the Makefile before I could compile
 qpycore. Am I missing a command line flag, or is there something that
 needs to be added/changed to the .pro file to know where sip is
 located?

 Nothing's changed in the build system for weeks, if not months.

 Phil

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] implications of running PyQt 4.4.x with Qt 4.5?

2009-04-23 Thread Devon Rueckner
On Wed, Apr 22, 2009 at 4:08 PM, Phil Thompson
p...@riverbankcomputing.com wrote:
 On Wed, 22 Apr 2009 15:51:23 -0400, Devon Rueckner
 devon.rueck...@temboo.com wrote:
 On Wed, Apr 22, 2009 at 12:50 PM, Phil Thompson
 p...@riverbankcomputing.com wrote:
 On Wed, 22 Apr 2009 12:40:49 -0400, Devon Rueckner
 devon.rueck...@temboo.com wrote:
 Hi -

 We would like to upgrade to Qt 4.5 for its bug fixes, performance and
 license.

 After simply swapping out Qt and leaving PyQt alone, empirically
 everything works with the exception of a few graphics view rendering
 issues.

 Is running PyQt 4.4.4 with Qt 4.5 considered supported?  What are the
 implications?

 Generally there is no problem with using a later version of Qt. The
 exception is when that new version introduces new implementations of
 existing virtuals - an older PyQt doesn't know to call them. There are
 some
 cases of that in Qt v4.5.

 Phil


 Just to clarify:

 Are you saying that there is no problem as long as we don't use
 certain known functions?
 Or, in the case of 4.5 there is a problem and we would not be safe
 using an older PyQt?

 The problem is limited to specific classes - QGraphicsProxyWidget is the
 only one that springs to mind.

 Phil



That class is indeed causing problems.  Would it be possible to patch
PyQt 4.4.4 to point to the new implementation?

~ Devon

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] RuntimeError: underlying C/C++ object has been deleted

2009-04-23 Thread Alexandr N Zamaraev

Looks like I got very simplified code.
The real hierarchy for the Data and Model looks like this (may be more 
levels):

[code]
class BaseData(QObject):
  def __init__(self):
super(BaseData, self).__init__()
...
class FinalData(BaseData):
  ...

class BaseModel(QAbstractItemModel):
  def __init__(self, parent, data, ...):
super(Model, self).__init__(parent)
...

class Model(BaseModel):
  ...
[/code]
All my base classes call base constructor directly or through super.
And all the derived classes have no constructor or call it through super.
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt