Re: [PyQt] QGridLayout doesn't remove widgets
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
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
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
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
[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
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
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)
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)
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)
* 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)
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