Spinbox StyleSheet Margin create background shift :S

  • Hi,

    I add the following stylesheets rules with qtdesigner:

    margin-top: 5px;

    QDoubleSpinBox, QSpinBox {
    background : white;
    and I get the following result:
    !http://mk1.ti1ca.com/1luwflth.jpg(QSpinbox margin background shift)!

    the margin shift down the background(by 5pixels) and I don't know why.
    It does on QSpinbox and QDoubleSpinBox, but not on QWidget, QLineEdit ...

    This is a bug ? or I misunderstand something ?

    thanks to help :)

  • I've seen this too.
    Are you using any layout and if so, can you check whats the top margin value in the layout?

  • The point is a different :-)


    margin-top: 5px;

    you define a general margin for all widgets, as all widgets are derived from QWidget.
    The background of a widget is painted inside the margins, so it will be moved down by 5 pixel.

    Perhaps a TextEdit (I think the bottom most widget is a text edit) resets this....

  • If I made a rule for my #item only, or QSpinBox, it does the same :/

    I'm using QT 4.6.2

  • [quote author="Gerolf" date="1297332205"]
    margin-top: 5px;

    ok to an existing form that i was working on, I just added these 2 spin boxes and the stylesheet. They came up properly. But another graphicsview that was in a different frame ended up with a background offset. How would you explain that since I had not set background for the graphicsview?

  • It does exactly the same with a new frame.
    !http://dk9.ti1ca.com/get/ spinbox)!

    and here is the code:

    You can also see a display bug in the down-arrow backgroud texture (kind of backgroud-repeat) .. but i didn't use so big spinbox :D

    In my case, my controls are paired label + spinbox in a form layout, so I put a margin on the label and it works.

  • Hi Kytrix,
    One workaround would be to use a container (frame) and apply a layout to it. The layout can be set margins. The margins in stylesheet can go. That should probably help ... chk it out.
    I think you can log a bug for this "here":http://bugreports.qt.nokia.com

  • Yes I have already a Layout, but i don't want to use it margins because I made show/hide on some of my QSpinbox, ands margins stays for hidden widget (not with margin by CSS on widget).
    (I can put another layout for each line, but I could not get the same with for all my spinboxs ... theys are in a formlayout with labels)

    Thanks for the help, my workaround works too :)

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.