首先,我正在使用QtJambi开发一个应用程序。当我使用QStackedWidget时遇到了这个问题,但找不到合适的解决方案。所以我所做的就是尝试隔离问题,我在下面的代码中做了一遍:
public class Test{
public static void main(String[] args){
QApplication.initialize(args);
QWidget main = new QWidget();
QVBoxLayout vbox = new QVBoxLayout();
QPushButton bot = new QPushButton("a");
vbox.addWidget(bot);
main.setSizePolicy(Policy.Maximum, Policy.Maximum);
vbox.setContentsMargins(0, 0, 0, 0);
vbox.setStretchFactor(bot, 1); //remove this line to have a totally different size
main.setLayout(vbox);
main.show();
QApplication.exec();
}
}
所以我想我可能遇到了一个错误(当然我可能错了,我尝试了两个版本qtjambi 4.7.1和4.7.0,编译为ubuntu 12.10)并希望得到一个确认。
在我指出的代码行上,尝试删除它,小部件意外地改变了大小,可能是有意的吗? https://qt-project.org/doc/qt-4.8/qwidget.html#adjustSize表示最小高度为100,但似乎不是这样,我是否使用扩展政策。