PyQt4 designer custom properties - combo box style

Discussion in 'Python' started by Andrew, Feb 2, 2010.

  1. Andrew

    Andrew Guest

    I am creating custom widgets for the PyQt4 Designer. I can create
    custom properties, but I'm looking for how to create a custom property
    that has a combo box drop down. I've seen them in the example widgets
    and tried following them, but they are using pre-defined items to
    populate their property, so it's not a very clear example of how to
    get the combo box property to work.

    Is there any other examples or help for this kind of setup?

    Thanks,
    Andrew
    Andrew, Feb 2, 2010
    #1
    1. Advertising

  2. Andrew

    David Boddie Guest

    On Tuesday 02 February 2010 22:25, Andrew wrote:

    > I am creating custom widgets for the PyQt4 Designer. I can create
    > custom properties, but I'm looking for how to create a custom property
    > that has a combo box drop down. I've seen them in the example widgets
    > and tried following them, but they are using pre-defined items to
    > populate their property, so it's not a very clear example of how to
    > get the combo box property to work.


    Can you explain a bit more about what you have seen and what you are
    trying to do. Are you trying to create a property that is treated
    specially by Designer or do you want to get the data for the combo
    box from somewhere else?

    > Is there any other examples or help for this kind of setup?


    Have you seen this article?

    http://qt.nokia.com/doc/qq/qq26-pyqtdesigner.html

    David
    David Boddie, Feb 4, 2010
    #2
    1. Advertising

  3. Andrew

    Andrew Guest

    On Feb 4, 2:59 pm, David Boddie <> wrote:
    > On Tuesday 02 February 2010 22:25, Andrew wrote:
    >
    > > I am creating custom widgets for the PyQt4 Designer. I can create
    > > custom properties, but I'm looking for how to create a custom property
    > > that has a combo box drop down. I've seen them in the example widgets
    > > and tried following them, but they are using pre-defined items to
    > > populate their property, so it's not a very clear example of how to
    > > get the combo box property to work.

    >
    > Can you explain a bit more about what you have seen and what you are
    > trying to do. Are you trying to create a property that is treated
    > specially by Designer or do you want to get the data for the combo
    > box from somewhere else?


    I'm attempting to create a drop down property for a custom widget I'm
    creating. So when in designer and you scroll down to the custom
    properties, under the regular widget properties, one of them would be
    a drop down menu. The data to populate it will be coming from our API
    and currently is a list of string-items. Yes, it would be treated
    specially by Designer, since it's the only place it would be seen.

    In the PyQt4\examples\designer folder, it carries a number of custom
    widgets that will load into designer. The datetimeedit widget creates
    a custom drop down menu property. The plugin pulls its information
    from the QtCore libraries and from the QCalander Widget. Though I am
    unable to find a better example or even explanation of how it's
    actually creating that drop down menu.

    >
    > > Is there any other examples or help for this kind of setup?

    >
    > Have you seen this article?
    >
    >  http://qt.nokia.com/doc/qq/qq26-pyqtdesigner.html


    No, I haven't, thanks. That might step in the right direction. I can't
    run it right now, so I'm not sure if it is putting a spinbox as it's
    property or just the value from the spin box.

    >
    > David


    Andrew
    Andrew, Feb 6, 2010
    #3
  4. Andrew

    David Boddie Guest

    On Saturday 06 February 2010 10:32, Andrew wrote:

    > I'm attempting to create a drop down property for a custom widget I'm
    > creating. So when in designer and you scroll down to the custom
    > properties, under the regular widget properties, one of them would be
    > a drop down menu. The data to populate it will be coming from our API
    > and currently is a list of string-items. Yes, it would be treated
    > specially by Designer, since it's the only place it would be seen.


    Right. The drop down menus in the property editor usually contain values
    defined for C++ enums which have been declared to Qt's meta-object system
    when a C++ library or plugin is compiled. I'm not sure that PyQt can expose
    lists of Python values in the same way.

    An example of this is the alignment property in QLineEdit.

    > In the PyQt4\examples\designer folder, it carries a number of custom
    > widgets that will load into designer. The datetimeedit widget creates
    > a custom drop down menu property. The plugin pulls its information
    > from the QtCore libraries and from the QCalander Widget. Though I am
    > unable to find a better example or even explanation of how it's
    > actually creating that drop down menu.


    Each of the individual properties are just single values, aren't they, not
    collections of values?

    >> Have you seen this article?
    >>
    >> http://qt.nokia.com/doc/qq/qq26-pyqtdesigner.html

    >
    > No, I haven't, thanks. That might step in the right direction. I can't
    > run it right now, so I'm not sure if it is putting a spinbox as it's
    > property or just the value from the spin box.


    The value from each spin box is turned into a property, so there are
    latitude and longitude properties, though each of these only holds
    a double precision floating point number. It sounds like you want to be
    able to select from a list of values, or possibly change the values
    themselves.

    If it turns out you can't add a property to Qt Designer in the way you want,
    you can still add a custom editor to the widget so that users can open a
    context menu and select an item to configure it. This is similar to the way
    you can open a dialog to edit the text inside QTextEdit widgets.

    The article I referred to also covers this:

    http://qt.nokia.com/doc/qq/qq26-pyqtdesigner.html#makingamenu

    David
    David Boddie, Feb 6, 2010
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. wgw
    Replies:
    1
    Views:
    451
  2. Alexander Higgins
    Replies:
    3
    Views:
    1,061
    Teemu Keiski
    Jul 30, 2007
  3. Alexander Higgins
    Replies:
    0
    Views:
    427
    Alexander Higgins
    Jul 21, 2007
  4. dthmtlgod

    Fill Combo Box based on another Combo Box

    dthmtlgod, Nov 16, 2005, in forum: ASP General
    Replies:
    1
    Views:
    562
    Bob Barrows [MVP]
    Nov 16, 2005
  5. SM
    Replies:
    2
    Views:
    347
Loading...

Share This Page