예제 #1
0
파일: console.py 프로젝트: moceap/scribus
 def newEngine(self):
     engine = QScriptEngine()
     ns = engine.globalObject()
     for name, value in self.locals.items():
         if isinstance(value, QObject):
             value = engine.newQObject(value)
         elif callable(value):
             value = engine.newFunction(value)
         ns.setProperty(name, value)
     return engine
예제 #2
0
 def newEngine(self):
     engine = QScriptEngine()
     ns = engine.globalObject()
     for name, value in self.locals.items():
         if isinstance(value, QObject):
             value = engine.newQObject(value)
         elif callable(value):
             value = engine.newFunction(value)
         ns.setProperty(name, value)
     return engine
예제 #3
0
        0).toString()  #expects a single arg: name of .ui file
    ui = uic.loadUi(uifile)  #, window)
    ui.show()
    uis.append(ui)
    #return QScriptValue(eng, 0)
    return engine.newQObject(ui)


def debugprint(ctx, eng):  #for javascript to print to console
    print ctx.argument(0).toString()
    return QScriptValue(eng, 0)


engine = QScriptEngine()
eprop = engine.globalObject().setProperty
eprop("loadui", engine.newFunction(loadui))
eprop("print", engine.newFunction(debugprint))

engine.evaluate(""" //the javascript source
ui = loadui("dialog.ui");
print(ui);

function changed(v) {
    print("val changed to: " + v);
}

print(ui.doubleSpinBox.valueChanged);
ui.doubleSpinBox['valueChanged(double)'].connect(changed);
print("connecting to doubleSpinBox.valueChanged ok from js (?)");
""")
예제 #4
0
def loadui(ctx, eng):
    global uis #to keep gc from clearing this :o
    uifile = ctx.argument(0).toString() #expects a single arg: name of .ui file
    ui = uic.loadUi(uifile) #, window)
    ui.show()
    uis.append(ui)
    #return QScriptValue(eng, 0)
    return engine.newQObject(ui)

def debugprint(ctx, eng): #for javascript to print to console
    print ctx.argument(0).toString()
    return QScriptValue(eng, 0)

engine = QScriptEngine()
eprop = engine.globalObject().setProperty
eprop("loadui", engine.newFunction(loadui))
eprop("print", engine.newFunction(debugprint))

engine.evaluate(""" //the javascript source
ui = loadui("dialog.ui");
print(ui);

function changed(v) {
    print("val changed to: " + v);
}

print(ui.doubleSpinBox.valueChanged);
ui.doubleSpinBox['valueChanged(double)'].connect(changed);
print("connecting to doubleSpinBox.valueChanged ok from js (?)");
""")