layout()->setSizeConstraint(QLayout::SetFixedSize);
1. 能重新更改窗体的大小,这样一来布局就负责定义窗体的大小。并且也会在显示或者隐藏子窗体部件的时候修改窗体的大小。确保以最好的尺寸显示出来
2. 码:在组合框中增加A——Z的Item。
setColumnRange('A','Z');
void SortDialog::setColumnRange(QChar first, QChar last) { ui->primaryColumnCombo->clear(); ui->secondaryColumnCombo->clear(); ui->tertiaryColumnCombo->clear(); ui->secondaryColumnCombo->addItem(tr("None")); ui->tertiaryColumnCombo->addItem(tr("None")); ui->primaryColumnCombo->setMinimumSize( ui->secondaryColumnCombo->sizeHint()); QChar ch = first; while (ch <= last) { ui->primaryColumnCombo->addItem(QString(ch)); ui->secondaryColumnCombo->addItem(QString(ch)); ui->tertiaryColumnCombo->addItem(QString(ch));
//特别注意
ch = ch.unicode() + 1; } }
3. QWidget::sizeHint()函数可以返回布局系统试图认同的“理想”的大小。
4. 动态对话框
#include<QtUiTools/QUiLoader>
QUiLoader uiloader; QFile file("sortdialog.ui"); QWidget *widget=uiloader.load(&file); if(widget) { //do something
}
可以利用来访问动态对话框的控件
QComboBox *comboBox=widget->findChild<QComboBox*>("firstCombobox"); if(comboBox) { }