create app that has plugin which contains PyQt widget

Posted by brian on Stack Overflow See other posts from Stack Overflow or by brian
Published on 2010-04-11T19:57:57Z Indexed on 2010/04/11 20:03 UTC
Read the original article Hit count: 434

Filed under:
|

I'm writing an application that will use plugins. In the plugin I want to include a widget that allows the options for that plugin to be setup. The plugin will also include methods to operate on the data.

What is is the best way to include a widget in a plugin?

Below is pseudo code for what I've tried to do.

My original plan was to make the options widget:

class myOptionsWidget(QWidget):

“””

create widget for plug in options “””

….

Next I planned on including the widget in my plugin:

class myPlugin

  def __init__(self):

     self.optionWidget = myOptionsWidget()


     self.pluginNum = 1      
     ….

  def getOptionWidget(self):
     return(self.optionWidget)     

Then at the top level I'd do something like

a = myPlugin()

form = createForm(option=a.getOptionWidget()) …

where createForm would create the form and include my plugin options widget.

But when I try "a = myPlugin()" I get the error "QWidget: Must construct a QApplication before a QpaintDevice" so this method won't work. I know I would store the widget as a string and call eval on it but I'd rather not do that in case later on I want to convert the program to C++.

What is the best way to write a plugin that includes a widget that has the options?

Brian

© Stack Overflow or respective owner

Related posts about python

Related posts about pyqt