現在、MacOS X.6 で Windows 用に作成されたソフトウェアをテストしています。そして、ほとんどのものはすでに機能していますが、現在、私は1つのことで立ち往生しています.MacでのネイティブのSaveFileNameダイアログです。
QString fileName = m_sSaveAsDir + "untitled." + m_sFileExtension;
qDebug() << "File Extension:" << m_sFileExtension; //"jpg"
qDebug() << "SaveDir:" << m_sSaveAsDir; //""
qDebug() << "Filename:" << fileName; //Filename: "untitled.jpg"
fileName = QFileDialog::getSaveFileName( 0, tr( "Save As" ),
fileName, tr("Images (*.dng *.tif *.jpg)"), 0, 0 );
qDebug() << "Filename:" << fileName; //Filename: "//...../Pictures/untitled.dng"
したがって、明らかに以前の拡張子 jpg は MacO では無視されるため、表示も保存もされません。これは私にとっては問題ありません。さらに、Qt のマニュアルには、MacOS ではフィルターが無視されると書かれています。SaveDialog の Browser のフォルダを見れば、これは正しいです (ファイルはフィルタリングされていません)。しかし、ファイルダイアログに拡張子が入力されていない限り、フィルターの最初の拡張子が拡張子として使用されるようで、非常に迷惑です。どうすればこの問題を回避できますか? getSaveFileName() メソッドの最後の引数を「DontUseNativeDialog」に変更して、NonNativeSaveDialog を使用しようとしましたが、これはほとんど機能しますが、見栄えがよくありません。助言がありますか?
こんにちはドニー