Re: [PyQt] QGridLayout doesn't remove widgets

2008-03-13 Thread Phil Thompson
On Wednesday 12 March 2008, Dr. Katja Wegner wrote:
 Hello,

 I have a QWidget with a QVBoxLayout and inside is a QGridLayout to show a
 text and a combo box in each line. If the user pushes the button change
 grid, the current boxes and labels shall be removed and new boxes and
 labels shall be added. I use removeWidget() but all elements are still
 visible although the layout is updated. I also added a button delete grid
 which shall only remove the elements.

 I created a small file for testing which is attached.
 (Python 2.5, Qt 4.3.4, PyQt 4.3.3)

 Thanks a lot,
 Katja

That's the expected behavour. If you actually want to delete the widgets then 
call setParent(None) on them after calling removeWidget().

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


[PyQt] Multiple Inheritance

2008-03-13 Thread Ivan Coronado
Is possible the Multiple Inheritance from qt classes with PyQt??
 
 
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] Multiple Inheritance

2008-03-13 Thread Phil Thompson
On Thursday 13 March 2008, Ivan Coronado wrote:
 Is possible the Multiple Inheritance from qt classes with PyQt??

No.

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


Re: [PyQt] Multiple Inheritance

2008-03-13 Thread Hans-Peter Jansen
Am Donnerstag, 13. März 2008 schrieb Ivan Coronado:
 Is possible the Multiple Inheritance from qt classes with PyQt??

Yes and no, since at most one sip generated class can be involved.

The question is, what's your purpose?

Pete

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


Re: [PyQt] Multiple Inheritance

2008-03-13 Thread Hans-Peter Jansen
[Ivan, two things first: keep discussions on this fairly low volume list,
 and do not top post, if remotely possible]

Am Donnerstag, 13. März 2008 schrieb Ivan Coronado:
 I want to create class that inherits Qmainwindow and qthread support, but
 now i'm thinking about create two diferent classes.

Well, that sounds like a perfect recipe to beg for trouble, even in C++. If 
you look at the semantics of both classes, you discover plenties of reasons 
to keep them separated. 

Pete

 thanks

 -Mensaje original-
 De: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] En nombre de Hans-Peter
 Jansen Enviado el: jueves, 13 de marzo de 2008 12:40
 Para: pyqt@riverbankcomputing.com
 Asunto: Re: [PyQt] Multiple Inheritance

 Am Donnerstag, 13. März 2008 schrieb Ivan Coronado:
  Is possible the Multiple Inheritance from qt classes with PyQt??

 Yes and no, since at most one sip generated class can be involved.

 The question is, what's your purpose?

 Pete

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



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


Re: [PyQt] PyQt book Rapid GUI Programming with Python and Qt

2008-03-13 Thread Gustavo A. Díaz
Done ;)


 I'm really glad you like it and hope it will prove to be really useful!

 (And if you felt like it, maybe add a nice comment on amazon:-)



-- 
Gustavo A. Díaz
GDNet Projects
www.gdnet.com.ar
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] use c++ files from PyQt

2008-03-13 Thread Linos
Should be possible to create a model (QAbstractTableModel subclass) and a view (QTableView subclass) in c++ 
and use it from a PyQt program with sip or any other way?


Regards,
Miguel Angel.
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] QtDBus not wrapped, trouble using dbus-python (communication hangs)

2008-03-13 Thread Adeodato Simó
Hello.

I've read in the list archives that QtDBus is not wrapped because there
would be severe limitations in the bindings, and a more pythonic version
of the bindings exists (dbus-python).

However, I'm having trouble with exporting an interface using those
bindings. I've started with the example-service.py file that comes with
dbus-python, and I've changed it to be a Qt mini-app with the following
diff (full file attached):

--- example-service.py~
+++ example-service.py
@@ -30,11 +30,13 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.

-import gobject
+import sys

 import dbus
 import dbus.service
-import dbus.mainloop.glib
+import dbus.mainloop.qt
+
+from PyQt4 import QtGui

 class DemoException(dbus.DBusException):
 _dbus_error_name = 'com.example.DemoException'
@@ -71,13 +73,13 @@


 if __name__ == '__main__':
-dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True)

 session_bus = dbus.SessionBus()
 name = dbus.service.BusName(com.example.SampleService, session_bus)
 object = SomeObject(session_bus, '/SomeObject')

-mainloop = gobject.MainLoop()
-print Running example service.
-print usage
-mainloop.run()
+app = QtGui.QApplication(sys.argv)
+mw = QtGui.QMainWindow()
+mw.show()
+app.exec_()

The application starts, with this warning:

  QSocketNotifier: Can only be used with threads started with QThread
  QSocketNotifier: Can only be used with threads started with QThread

qdbus lists the service, but trying to lists its objects hangs, and
sending a message does not work either:

% qdbus | grep example
 com.example.SampleService

% qdbus com.example.SampleService
/
Cannot introspect object / at com.example.SampleService:
org.freedesktop.DBus.Error.NoReply (Did not receive a reply. Possible causes
include: the remote application did not send a reply, the message bus security
policy blocked the reply, the reply timeout expired, or the network connection
was broken.)

% qdbus com.example.SampleService /SomeObject 
com.example.SampleInterface.HelloWorld hello
Interface 'com.example.SampleInterface' not available in object /SomeObject at 
com.example.SampleService:
org.freedesktop.DBus.Error.NoReply (...)

Any ideas?

-- 
Adeodato Simó dato at net.com.org.es
Debian Developer  adeodato at debian.org
 
People are more violently opposed to fur than leather because it's safer to
harass rich women than motorcycle gangs.
#!/usr/bin/env python

usage = Usage:
python example-service.py 
python example-client.py
python example-async-client.py
python example-client.py --exit-service


# Copyright (C) 2004-2006 Red Hat Inc. http://www.redhat.com/
# Copyright (C) 2005-2007 Collabora Ltd. http://www.collabora.co.uk/
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation
# files (the Software), to deal in the Software without
# restriction, including without limitation the rights to use, copy,
# modify, merge, publish, distribute, sublicense, and/or sell copies
# of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.

import sys

import dbus
import dbus.service
import dbus.mainloop.qt

from PyQt4 import QtGui

class DemoException(dbus.DBusException):
_dbus_error_name = 'com.example.DemoException'

class SomeObject(dbus.service.Object):

@dbus.service.method(com.example.SampleInterface,
 in_signature='s', out_signature='as')
def HelloWorld(self, hello_message):
print (str(hello_message))
return [Hello,  from example-service.py, with unique name,
session_bus.get_unique_name()]

@dbus.service.method(com.example.SampleInterface,
 in_signature='', out_signature='')
def RaiseException(self):
raise DemoException('The RaiseException method does what you might '
'expect')

@dbus.service.method(com.example.SampleInterface,
 in_signature='', out_signature='(ss)')
def GetTuple(self):
return (Hello Tuple,  from example-service.py)

@dbus.service.method(com.example.SampleInterface,
 

Re: [PyQt] QtDBus not wrapped, trouble using dbus-python (communication hangs)

2008-03-13 Thread Phil Thompson
On Thursday 13 March 2008, Adeodato Simó wrote:
 Hello.

 I've read in the list archives that QtDBus is not wrapped because there
 would be severe limitations in the bindings, and a more pythonic version
 of the bindings exists (dbus-python).

 However, I'm having trouble with exporting an interface using those
 bindings. I've started with the example-service.py file that comes with
 dbus-python, and I've changed it to be a Qt mini-app with the following
 diff (full file attached):

 --- example-service.py~
 +++ example-service.py
 @@ -30,11 +30,13 @@
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  # DEALINGS IN THE SOFTWARE.

 -import gobject
 +import sys

  import dbus
  import dbus.service
 -import dbus.mainloop.glib
 +import dbus.mainloop.qt
 +
 +from PyQt4 import QtGui

  class DemoException(dbus.DBusException):
  _dbus_error_name = 'com.example.DemoException'
 @@ -71,13 +73,13 @@


  if __name__ == '__main__':
 -dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
 +dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True)

  session_bus = dbus.SessionBus()
  name = dbus.service.BusName(com.example.SampleService, session_bus)
  object = SomeObject(session_bus, '/SomeObject')

 -mainloop = gobject.MainLoop()
 -print Running example service.
 -print usage
 -mainloop.run()
 +app = QtGui.QApplication(sys.argv)
 +mw = QtGui.QMainWindow()
 +mw.show()
 +app.exec_()

 The application starts, with this warning:

   QSocketNotifier: Can only be used with threads started with QThread
   QSocketNotifier: Can only be used with threads started with QThread

 qdbus lists the service, but trying to lists its objects hangs, and
 sending a message does not work either:

 % qdbus | grep example
  com.example.SampleService

 % qdbus com.example.SampleService
 /
 Cannot introspect object / at com.example.SampleService:
 org.freedesktop.DBus.Error.NoReply (Did not receive a reply. Possible
 causes include: the remote application did not send a reply, the message
 bus security policy blocked the reply, the reply timeout expired, or the
 network connection was broken.)

 % qdbus com.example.SampleService /SomeObject
 com.example.SampleInterface.HelloWorld hello Interface
 'com.example.SampleInterface' not available in object /SomeObject at
 com.example.SampleService: org.freedesktop.DBus.Error.NoReply (...)

 Any ideas?

You need to create the QApplication before the main loop.

Phil

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


Re: [PyQt] QtDBus not wrapped, trouble using dbus-python (communication hangs)

2008-03-13 Thread Adeodato Simó
* Phil Thompson [Thu, 13 Mar 2008 22:03:08 +]:

 You need to create the QApplication before the main loop.

Oh, changing that makes the example work, thank you.
However, if I change QApplication to KApplication, I get this error:

QMutex::lock: Deadlock detected in thread -1210529600

And the application hangs. Any ideas?

Thanks,

-- 
Adeodato Simó dato at net.com.org.es
Debian Developer  adeodato at debian.org
 
I went to the race track once and bet on a horse that was so good that
it took seven others to beat him!

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


Re: [PyQt] QtDBus not wrapped, trouble using dbus-python (communication hangs)

2008-03-13 Thread Jim Bublitz
On Thursday 13 March 2008 15:50, Adeodato Simó wrote:
 * Phil Thompson [Thu, 13 Mar 2008 22:03:08 +]:
  You need to create the QApplication before the main loop.

 Oh, changing that makes the example work, thank you.
 However, if I change QApplication to KApplication, I get this error:

 QMutex::lock: Deadlock detected in thread -1210529600

 And the application hangs. Any ideas?

Setting some of the fields in KAboutData also sets some info that DBus uses 
(name, domain info?) - setting it incorrectly (like putting the .py extension 
on the name) also causes problems. I'd also try changing QMainWindow to 
KMainWindow or KXmlGuiWindow.

Other than that (actually including that), I have no clue. Haven't seen any 
KDE docs on it either, although you could try kde.org.

Jim

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