I just installed the latest PyQt4 snapshot, which includes your new autoconnect feature. I compiled a .ui file and tried to find some trace of this feature. However, I didn't succeed (maybe I am getting tiered). How does your autoconnect feature work with compiled .ui files?
Detlev Am Sonntag, 22. Januar 2006 15:19 schrieb Torsten Marek: > Hello all, > > with the latest pyuic snapshot (should appear somewhere next week) and > latest PyQt4/sip snapshot, signal autoconnect now works, which was the last > big point for pyuic. > If you want to use pyuic code in your own application rather than > generating the code statically, there are several possibilities, which I > will list here: > > .: Just load a user interface and display it: > > import sys > from PyQt4 import QtGui > from PyQt4.uic import Loader > > app = QtGui.QApplication(sys.argv) > # this is the hard part > widget = Loader.loadUi("demo.ui") > widget.show() > app.exec_() > > ## eos > > .: Use a user interface with your own class, incl. signal autoconnect > > import sys > from PyQt4 import QtGui > from PyQt4.uic import Loader > > # the class has to have the same base class as your UI > class DemoImpl(QtGui.QDialog): > def __init__(self, *args): > QtGui.QWidget.__init__(self, *args) > # just pass self > Loader.loadUi("demo.ui", self) > > def on_button1_clicked(self): > for s in "This is a demo".split(" "): > # self.list is a QListWidget > self.list.addItem(s) > > app = QtGui.QApplication(sys.argv) > widget = DemoImpl() > widget.show() > app.exec_() > > ## eos > > .: Create a type on the fly and use it as a base class (slightly more > involved) > > import sys > import cStringIO > from PyQt4 import QtCore, QtGui > # this time, we use the code generator > from PyQt4.uic import Compiler > > def compileToType(filename): > code_string = cStringIO.StringIO() > widget_info = Compiler.compileUi(file(filename, "r"), code_string) > # the buffer code_string now contains the generated Python code > widget_module = compile(code_string.getvalue(), filename, "exec") > exec widget_module > return locals()[widget_info["uiclass"]] > > app = QtGui.QApplication(sys.argv) > # ui is a class (the same you would get with 'pyuic4 demo.ui' > ui = compileToType("demo.ui") > > class DemoImpl(QtGui.QDialog, ui): > def __init__(self, *args): > QtGui.QWidget.__init__(self, *args) > self.setupUi(self) > > def on_button1_clicked(self): > for s in "This is a demo".split(" "): > self.list.addItem(s) > > form = DemoImpl() > form.show() > app.exec_() > > ## eos > > best regards > > Torsten -- Detlev Offenbach [EMAIL PROTECTED] _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde