如何将默认文本填充到QInputDialog

www*_*www 1 qt

我试图将默认文本填充到QInputDialog的LineEdit字段中(例如,填充旧值以进行重命名)。这是代码:

  bool dialogResult;
  QInputDialog *renameDialog = new QInputDialog();
  renameDialog->setTextValue("Test"); // has no effect
  QString result = renameDialog->getText(0, "Rename Label", "New name:", QLineEdit::Normal,
                                         "", &dialogResult);
  if(result.length() > 0 && dialogResult) setText(result);
Run Code Online (Sandbox Code Playgroud)

如何设置一个值InputDialog以使其默认填充?

And*_*ter 5

您需要将默认文本作为第五个参数传递:

QString result = renameDialog->getText(0, "Rename Label", "New name:", QLineEdit::Normal,
                                       "DEFAULT TEXT", &dialogResult);
Run Code Online (Sandbox Code Playgroud)

另请参见QInputDialog :: getText()

文本是默认文本,放置在行编辑中。