有時候需要彈出一個小對話框,不想用designer設計,直接在代碼裏動態的生成。
如下圖所示:彈出一個帶下拉列表和確定取消按鈕的對話框
QDialog dialog;
dialog.setWindowTitle(tr("選擇要保存的格式"));
QComboBox *box = new QComboBox(&dialog);
box->addItem("jpg");
box->addItem("bmp");
box->addItem("png");
box->addItem("tif");
box->addItem("img");
QDialogButtonBox *button = new QDialogButtonBox(&dialog);
button->addButton( "OK", QDialogButtonBox::YesRole);
button->addButton( "NO", QDialogButtonBox::NoRole);
connect(button, SIGNAL(accepted()), &dialog, SLOT(accept()));
connect(button, SIGNAL(rejected()), &dialog, SLOT(reject()));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(box);
layout->addWidget( button);
dialog.setLayout(layout);
QString suffix ;
if ( dialog.exec() == QDialog::Accepted)
{
suffix = box->currentText();
ImageConvert img;
img.ConvertImages( files, dstpath.toStdString(), suffix.toStdString());
}
點擊OK和NO按鈕會有響應。