Qt “形状更改”对话框
我试着使用一个改变形状的对话框,也就是说,当我点击一个按钮时,对话框的大小会随着额外的细节而变大。为此,我在按钮上编写了以下代码:Qt “形状更改”对话框,qt,qtgui,qt-signals,Qt,Qtgui,Qt Signals,我试着使用一个改变形状的对话框,也就是说,当我点击一个按钮时,对话框的大小会随着额外的细节而变大。为此,我在按钮上编写了以下代码: QObject::connect(ui->moreButton, SIGNAL(toggled(bool)), ui->sgroupBox, SLOT(setVisible(bool))); 但我的对话框上没有发生任何更改。在这种情况下我该怎么办 我通过使用hide()函数将额外的细节放置在网格中,从而隐藏了这些细节。额外的细节被隐藏,但小部
QObject::connect(ui->moreButton, SIGNAL(toggled(bool)),
ui->sgroupBox, SLOT(setVisible(bool)));
但我的对话框上没有发生任何更改。在这种情况下我该怎么办
我通过使用hide()函数将额外的细节放置在网格中,从而隐藏了这些细节。额外的细节被隐藏,但小部件的大小没有改变
请帮助我找到解决方案如果我正确理解您的问题,您是否在单击用户界面中的按钮后尝试调整QDialog box的大小 由于QDialog继承自QWidget,因此可以调用QWidget::resize(int-width,int-height)方法 现在,要使QDialog在按下按钮时增长,只需将切换(bool)信号连接到一个插槽,然后调用resize 即 然后在管理QDialog的类中实现此插槽: 即
您的对话框可能不包含布局,当其内容出现在屏幕上时,布局可以自动调整大小。
QObject::connect(ui->moreButton, SIGNAL(toggled(bool)), whateverClassManagesYourQDialog, onButtonToggled(bool));
// This is a slot in your class which implements QDialog
whateverClassManagesYourQDialog::onButtonToggled(bool toggledState){
ui->sGroupBox.setVisible(toggledState); // This will show or hide sGroupBox
resize(someIncrement,someIncrement); // This will grow your QDialog
}