我正试图通过改变窗口大小来扩展每个小部件。我有一个主窗口,其中有一个QTabWidget,每个选项卡都有一个QWidget支架。然后我有一个自定义小部件,其中包含一个单独的.ui文件,我设置该文件来填充选项卡的QWidget空间。问题是,我无法获取QWidget的内容扩展,只有主窗口的tab和QWidget。此外,我注意到如果我将自定义窗口小部件的ui-> setupUi()参数从“this”更改为“parent”,则问题得到修复,并且自定义窗口小部件将正确缩放。唯一的问题是,当我这样做时,按钮都不起作用。应用程序输出读出按钮的“No Slot”发现错误。建立此连接的正确方法是什么?
编辑:示例代码
MainWindow:: ...
{
//assign customWidget to widget placeholder on tabWidget.
//holder is just a blank widget set in gridLayout on tab widget.
CustomWidget * customWidget = new CustomWidget(ui->customWidgetHolder);
setCentralWidget(ui->tabWidget);
//This gets the sizing I want with the tabs, but
//doesn't pass it past the customWidgetHolder.
}
答案 0 :(得分:2)
根据我的承诺,您需要在选项卡中使用自定义窗口小部件的布局
QTabWidget* tabWidget = new QTabWidget();
QWidget* tab = new QWidget();
QVBoxLayout* verticalLayout = new QVBoxLayout(tab);
YourWidget* widget = new YourWidget(tab);
verticalLayout->addWidget(widget);
tabWidget->addTab(tab, QString());
但是如果你想要回答它,你需要更具体(代码示例?)关于你所做的SIGNAL / SLOT连接。