26QgsDialog::QgsDialog( QWidget *parent, Qt::WindowFlags fl, QDialogButtonBox::StandardButtons buttons, Qt::Orientation orientation )
27 : QDialog( parent, fl )
30 mButtonBox =
new QDialogButtonBox( buttons, orientation,
this );
31 connect(
mButtonBox, &QDialogButtonBox::accepted,
this, &QDialog::accept );
32 connect(
mButtonBox, &QDialogButtonBox::rejected,
this, &QDialog::reject );
35 QBoxLayout *
layout =
nullptr;
36 if ( orientation == Qt::Horizontal )
37 layout =
new QVBoxLayout();
39 layout =
new QHBoxLayout();
46QString
QgsDialog::getMultiLineText( QWidget *,
const QString &title,
const QString &label,
const QString &text,
bool *ok, Qt::WindowFlags flags, Qt::InputMethodHints inputMethodHints )
48 auto dialog = std::make_unique<QInputDialog>(
nullptr, flags );
50 dialog->setOptions( QInputDialog::UsePlainTextEditForTextInput );
51 dialog->setWindowTitle( title );
52 dialog->setLabelText( label );
53 dialog->setTextValue( text );
54 dialog->setInputMethodHints( inputMethodHints );
56 if ( QPlainTextEdit *textEdit = dialog->findChild<QPlainTextEdit *>() )
58 textEdit->setLineWrapMode( QPlainTextEdit::WidgetWidth );
61 const bool accepted = dialog->exec() == QDialog::Accepted;
68 return dialog->textValue();
static QString getMultiLineText(QWidget *parent, const QString &title, const QString &label, const QString &text=QString(), bool *ok=nullptr, Qt::WindowFlags flags=Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints=Qt::ImhNone)
Static method to display a multi-line text input dialog with word wrapping.
QgsDialog(QWidget *parent=nullptr, Qt::WindowFlags fl=QgsGuiUtils::ModalDialogFlags, QDialogButtonBox::StandardButtons buttons=QDialogButtonBox::Close, Qt::Orientation orientation=Qt::Horizontal)
Constructor for QgsDialog.