[PyQt] Error when attempting to use load UI files into Python
Phil Thompson
phil at riverbankcomputing.com
Thu Sep 13 08:47:38 BST 2012
On Wed, 12 Sep 2012 18:43:10 -0400, Scott Lanahan <lanahans at gmail.com>
wrote:
> Hi,
>
> I'm desperately trying to use uic.loadUi to load my main window into
> Python. I cannot get it to work for the main window, but it works fine
for
> various widgets that are in the same Qt project. When I try to load the
.ui
> file, I get the following error:
> Traceback (most recent call last):
> File "options.py", line 25, in <module>
> myapp = uic.loadUi('mainwindow.ui')
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/__init__.py", line
223,
> in loadUi
> return DynamicUILoader(package).loadUi(uifile, baseinstance)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/Loader/loader.py",
line
> 71, in loadUi
> return self.parse(filename, basedir)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
929,
> in parse
> actor(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
770,
> in createUserInterface
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
224,
> in createWidget
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
459,
> in createLayout
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
502,
> in handleItem
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
224,
> in createWidget
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
224,
> in createWidget
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
459,
> in createLayout
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
502,
> in handleItem
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
459,
> in createLayout
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
502,
> in handleItem
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
224,
> in createWidget
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
224,
> in createWidget
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
459,
> in createLayout
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
502,
> in handleItem
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
459,
> in createLayout
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
502,
> in handleItem
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
224,
> in createWidget
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
224,
> in createWidget
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
459,
> in createLayout
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
502,
> in handleItem
> self.traverseWidgetTree(elem)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
748,
> in traverseWidgetTree
> handler(self, child)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
215,
> in createWidget
> self.stack.push(self.setupObject(widget_class, parent, elem))
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/uiparser.py", line
176,
> in setupObject
> obj = self.factory.createQObject(clsname, name, args, is_attribute)
> File "/usr/lib/python2.7/site-packages/PyQt4/uic/objcreator.py", line
> 124, in createQObject
> return self._cpolicy.instantiate(factory, *args, **kwargs)
> File
> "/usr/lib/python2.7/site-packages/PyQt4/uic/Loader/qobjectcreator.py",
line
> 131, in instantiate
> return clsObject(*ctor_args)
> TypeError: __init__() takes exactly 1 argument (2 given)
>
>
> Here is the code I am trying to run:
>
> class mainWindow(QtGui.QMainWindow):
> def __init__(self,parent=None):
> QtGui.QMainWindow.__init__(self, parent)
> self.ui = uic.loadUi('mainwindow.ui', self)
>
>
> if __name__ == "__main__":
>
QtGui.QApplication.setStyle(QtGui.QStyleFactory.create("Cleanlooks"))
>
>
QtGui.QApplication.setPalette(QtGui.QApplication.style().standardPalette())
> app = QtGui.QApplication(sys.argv)
> myapp = mainWindow()
> myapp.show()
> sys.exit(app.exec_())
>
> My google-fu is usually very strong, but I have been unable to determine
> the root of this problem. I have worked and worked on it, but still no
> luck. Please help!
A copy of the .ui file would help.
Phil
More information about the PyQt
mailing list