ある場所からファイルをアップロードすると、次のアップロードは最後にアップロードされた場所を指す必要があります。このように使用してどのように達成できQSettings
ますか?
10768 次
2 に答える
22
を使用する前に、アプリケーションと会社に関するいくつかの情報を設定するQSettings
ことをお勧めします。main()
QSettings
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName("test");
a.setOrganizationName("myorg");
a.setOrganizationDomain("myorg.com");
// etc...
return a.exec();
}
QFile::getOpenFileName()
次に、 (たとえば)でファイルを選択するとQSetting
、最後のディレクトリのキーから読み取ることができます。次に、選択したファイルが有効な場合は、キーの内容を保存/更新できます。
void Widget::on_tbtFile_clicked() {
const QString DEFAULT_DIR_KEY("default_dir");
QSettings MySettings; // Will be using application informations
// for correct location of your settings
QString SelectedFile = QFileDialog::getOpenFileName(
this, "Select a file", MySettings.value(DEFAULT_DIR_KEY).toString());
if (!SelectedFile.isEmpty()) {
QDir CurrentDir;
MySettings.setValue(DEFAULT_DIR_KEY,
CurrentDir.absoluteFilePath(SelectedFile));
QMessageBox::information(
this, "Info", "You selected the file '" + SelectedFile + "'");
}
}
于 2010-08-30T06:12:24.590 に答える
1
QFileDialog() について話している場合は、コンストラクターで開始ディレクトリを指定できます。
QFileDialog::QFileDialog(QWidget * parent = 0, const QString & caption =
QString(), const QString & directory = QString(), const QString & filter =
QString())
または、次のようなヘルパー関数の 1 つを使用して、開始ディレクトリを指定することもできます。
QString QFileDialog::getOpenFileName(QWidget * parent = 0,
const QString & caption = QString(), const QString & dir = QString(),
const QString & filter = QString(), QString * selectedFilter = 0,
Options options = 0)
使用するたびに、選択したディレクトリ パスを保存し、次にダイアログを表示するときに使用します。
于 2010-08-30T04:56:00.297 に答える