0
質問はかなり簡単でタイトルにあります。識別子ファイル名だけが必要な場合、QRegexpValidatorをQFileDialogに接続するにはどうすればよいですか?
グーグルがこの問題に助けになりませんでした。 QFileDialogに保存名フィールドにQValidatorを使用させるにはどうすればよいですか?
ありがとうございました。
質問はかなり簡単でタイトルにあります。識別子ファイル名だけが必要な場合、QRegexpValidatorをQFileDialogに接続するにはどうすればよいですか?
グーグルがこの問題に助けになりませんでした。 QFileDialogに保存名フィールドにQValidatorを使用させるにはどうすればよいですか?
ありがとうございました。
以下はちりめんのようですが、動作するようです。
QObject::findChildren
を使用すると、ダイアログのQLineEdit
子ウィジェットを見つけることができます。一つだけ、そのようなウィジェットがありますと仮定しますが、そのためにバリデータを適用することができます...
QFileDialog fd;
auto children = fd.findChildren<QLineEdit *>();
if (children.size() == 1) {
/*
* Apply a validator that forces the user to enter a name
* beginning with a lower case `a' -- a bit pointless but...
*/
QRegExpValidator validator(QRegExp("^a"));
/*
* Apply the validator.
*/
children.front()->setValidator(&validator);
fd.exec();
}
簡単なテストはうまく動作するように見える示唆しています。私が言ったように:それは少しkludgeのように感じる。