Workaround für "Signals of generic types not supported:
Verfasst: 4. August 2009 14:15
Hallo Leute,
Hab ebn grad mal im Board gesucht und noch nichts passendes gefunden.
Mein Problem ist, ich brauch ein Generic Signal1 ->
Nur bekomm ich hier die Fehlermeldung:
Wäre super wenn ihr einen tipp oder sogar ein workaround hättet
Vielen dank schon mal
Lg
Hab ebn grad mal im Board gesucht und noch nichts passendes gefunden.
Mein Problem ist, ich brauch ein Generic Signal1 ->
Code: Alles auswählen
public class SignalTest<T> extends QWidget{
public Signal1<T> nodeSignal;
public T node;
public SignalTest(T node){
this.node = node;
}
}
Selbst wenn ich von der Klasse erbe, und das Signal1<T> mit Signal1<NodeL> instanzier bekomm ich die Fehlermeldung.java.lang.RuntimeException: Signals of generic types not supported: T
at com.trolltech.qt.internal.QtJambiInternal.resolveSignal(QtJambiInternal.java:492)
at com.trolltech.qt.internal.MetaObjectTools.buildMetaData(MetaObjectTools.java:543)
at com.trolltech.qt.gui.QWidget.__qt_QWidget_QWidget_WindowFlags(Native Method)
at com.trolltech.qt.gui.QWidget.<init>(QWidget.java:77)
at com.trolltech.qt.gui.QWidget.<init>(QWidget.java:73)
at otherTest.SignalTest.<init>(SignalTest.java:9)
at otherTest.SubSignalTest.<init>(SubSignalTest.java:11)
at otherTest.SubSignalTest.main(SubSignalTest.java:30)
Code: Alles auswählen
public class SubSignalTest extends SignalTest<NodeL> {
public SubSignalTest(NodeL node) {
super(node);
this.nodeSignal = new Signal1<NodeL>();
this.nodeSignal.connect(this, "clucked(NodeL)");
}
public void clucked(NodeL d){
System.out.println(d.toString());
}
@Override
protected void mousePressEvent(QMouseEvent arg) {
this.nodeSignal.emit(this.node);
}
public static void main(String[] args) {
QApplication.initialize(args);
SubSignalTest testWidgetGraphicsView = new SubSignalTest(new NodeL());
testWidgetGraphicsView.show();
QApplication.exec();
}
}
Vielen dank schon mal
Lg