我试过的东西似乎都不起作用。如果我从一个setMinimumSize切换到一个QSpinBox,这使我相信这可能是QT5.1中的一个bug,这正是我想要做的。
发布于 2014-04-09 23:47:10
我的Qt5.1看起来很好,当改变纺丝箱的大小。在版面上?是否设置了布局设置:
setSizePolicy(QSizePolicy::Ignored,QSizePolicy::Ignored); ?发布于 2020-09-24 09:08:07
实际上,QDoubleSpinBox和QSpinBox大小策略是相同的。但请注意,它们的最小宽度(或宽度提示)取决于它们的最小/最大值。默认的QDoubleSpinBox宽度与QSpinBox宽度非常接近,但是,如果QDoubleSpinBox精度为10位,并且它的最大值被设置为FLT_MAX,那么它的宽度将变得很大,因为Qt将设置它,以便在不改变妻子大小的情况下使最大值适合。
为了解决这个问题,我找到了两个解决办法:
setSizePolicy( QSizePolicy( QSizePolicy::Ignored, sizePolicy().verticalPolicy() ) );上调用QDoubleSpinBox即可。然而,现在的布局管理可能会使它变得如此小,以至于它的内容不再可见。所以这个解决方案并不完美。QDoubleSpinBox添加到QLayout后,更新布局(调用layout->update()),然后执行spinBox->setMinimumWidth( spinBox->minimumSizeHint().width()/2 );。现在,QDoubleSpinBox可能会比以前小两倍。然而,大量的数字可能并不是完全可见的。https://stackoverflow.com/questions/22973790
复制相似问题