[PyQt] Fwd: QObject::connect: Parentheses expected, signal Actor::
Maxime Lemonnier
maxime.lemonnier at gmail.com
Thu Feb 28 22:11:03 GMT 2019
yes of course! Than you!
----- main.py ----------
import sys
from PyQt5.QtCore import QUrl, QObject, pyqtProperty as Property,
pyqtSignal as Signal
from PyQt5.QtQuick import QQuickView
from PyQt5.QtQml import qmlRegisterType
from PyQt5.QtGui import QGuiApplication, QOpenGLVersionProfile,
QSurfaceFormat
class MyClass(QObject):
def __init__(self, parent = None):
super(MyClass, self).__init__(parent)
self._bar = None
def get_bar(self):
return self._bar
def set_bar(self, p):
self._bar = p
barChanged = Signal()
bar = Property(int, get_bar, set_bar, notify = barChanged)
qmlRegisterType(MyClass, "MyModule", 1, 0, "MyClass")
if __name__ == '__main__':
app = QGuiApplication(sys.argv)
view = QQuickView()
view.setSource( QUrl.fromLocalFile('whatever.qml') )
view.show()
QGuiApplication.processEvents()
# you should see QObject::connect: Parentheses expected, signal MyClass::
in the console
---------- whatever.qml ---------------
import QtQuick 2.5
import MyModule 1.0
Rectangle
{
height: 800
width: 800
color: "blue"
MyClass
{
property var foo : [10,20,30]
bar: foo[0]
}
}
On Thu, Feb 28, 2019 at 5:01 PM Phil Thompson <phil at riverbankcomputing.com>
wrote:
> On 28 Feb 2019, at 9:10 pm, Maxime Lemonnier <maxime.lemonnier at gmail.com>
> wrote:
> >
> > When I derive a class from QObject and use it from qml, I get annoying
> warnings if I declare a property in the qml declaration, and bind that
> property anywhere.
> >
> > I get one
> >
> > 'QObject::connect: Parentheses expected, signal MyClass::'
> >
> > per binding, which can amount to a lot. so many in fact that it slows
> down startup time of my app significantly (.5s on Linux, 15-20s on Windoze).
> >
> > I can fix it by deriving from QQuickItem instead, but then I hit a
> mysterious:
> >
> > 'TypeError: a maximum of 30 QQuickItem types may be registered with QML'
> >
> > Where does this limitation comes from?, I get no hit from google on it.
>
> It's an arbitrary PyQt limit. It can be increased but I wouldn't want to
> (for example) increase it by 10x.
>
> If you have a short script that demonstrates the original problem I can
> look at it.
>
> Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20190228/60ce11ce/attachment.html>
More information about the PyQt
mailing list