Próbuję utworzyć okno dialogowe "Zapisz jako ..." w Mac OS X. Ale nie chcę używać funkcji QFileDialog::getSaveFileName()
, ponieważ okno dialogowe to utworzone przez tę funkcję jest NOT prawdziwie natywne w Mac OS X Lion. Więc ja decyduję stworzyć dialog jako QFileDialog
obiektu:QFileDialog: jak ustawić domyślną nazwę pliku w oknie dialogowym "Zapisz jako ..."
auto export_dialog(new QFileDialog(main_window));
export_dialog->setWindowModality(Qt::WindowModal);
export_dialog->setFileMode(QFileDialog::AnyFile);
export_dialog->setAcceptMode(QFileDialog::AcceptSave);
Wszystko działa dobrze, z wyjątkiem jednego problemu. Nie mogę ustawić domyślnej nazwy dla zapisanego pliku, więc użytkownik musi wpisać tę nazwę ręcznie za każdym razem. Wiem, że funkcja QFileDialog::getSaveFileName()
pozwala ustawić domyślną nazwę pliku poprzez trzeci argument, dir (http://qt-project.org/doc/qt-4.8/qfiledialog.html#getSaveFileName). Ale jak ustawić tę domyślną nazwę bez tej funkcji?
Można ustawić domyślny sufiks dla zapisanego pliku za pomocą funkcji QFileDialog::setDefaultSuffix()
, ale muszę ustawić całą domyślną nazwę, nie tylko domyślny sufiks.
Próbowałem użyć funkcji QFileDialog::setDirectory()
, ale ustawia ona tylko katalog, w którym ma być zapisany, bez nazwy zapisanego pliku.
Używam Qt 4.8.1 na Mac OS X Lion.
Z góry dziękuję za pomoc.
Pytanie jest usuwany. Zauważyłem, że domyślną nazwę pliku można ustawić za pomocą funkcji QFileDialog :: selectFile(). Dziękuję Ci. –
Nie ma problemu z usuwaniem. Jeśli ktoś w przyszłości znajdzie ten sam problem, jak może znaleźć odpowiedź? –
Znalazłem go tutaj: http://www.qtcentre.org/threads/49434-QFileDialog-set-default-name?highlight=QFileDialog. –