工作中遇到这样一个问题:
在代码中创建了一个Widget,然后调用QStackedWidget的addWidget方法把它加成一页,虽然能显示出来但由于这个Widget是固定大小,它会出现在整个窗口的左上角,如图所示(我自己写了一个小的测试工程来调试):
出现这种现象的原因是,这个Widget本身被当做了QStackedWidget的一页,而通常我们在QtDesigner中插入一个Widget都是先插入一页Page,然后再把这个Widget放入Page,通过这个Page的布局我们就可以让插入的Widget自适应了
那么现在的问题是,我们没法在QtDesigner中插入我们的Widget,它已经被addWidget调用成为了当中的一页,该怎么让它居中呢?我的解决方法还是让它插入某个带有Layout的Page让它自适应,所以我尝试了如下代码:
auto button = new QPushButton(this);
button->setFixedSize(20, 20);
ui->stackedWidget->addWidget(button);
ui->page->layout()->addWidget(button);
发现显示出来是空的