2010-08-30 25 views

Trả lời

18

Trước khi sử dụng QSettings, tôi sẽ đề nghị, trong main() của bạn để thiết lập một vài thông tin về ứng dụng của bạn và công ty của bạn, thông tin mà QSettings sẽ được sử dụng:

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    a.setApplicationName("test"); 
    a.setOrganizationName("myorg"); 
    a.setOrganizationDomain("myorg.com"); 

    // etc... 
    return a.exec(); 
} 

Sau đó, khi lựa chọn một tập tin với QFile::getOpenFileName() (ví dụ), bạn có thể đọc từ khóa của QSetting thư mục cuối cùng. Sau đó, nếu tệp đã chọn hợp lệ, bạn có thể lưu trữ/cập nhật nội dung của khóa:

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 + "'"); 
    } 
} 
1

Nếu bạn đang nói về QFileDialog(), bạn có thể chỉ định thư mục bắt đầu từ các nhà xây dựng:

QFileDialog::QFileDialog(QWidget * parent = 0, const QString & caption = 
    QString(), const QString & directory = QString(), const QString & filter = 
    QString()) 

Hoặc bạn có thể sử dụng một trong các chức năng helper như thế này mà cũng cho phép bạn chỉ định thư mục bắt đầu :

QString QFileDialog::getOpenFileName(QWidget * parent = 0, 
    const QString & caption = QString(), const QString & dir = QString(), 
    const QString & filter = QString(), QString * selectedFilter = 0, 
    Options options = 0) 

Sau mỗi lần sử dụng, lưu trữ đường dẫn thư mục đã được chọn và sử dụng lần sau khi bạn hiển thị hộp thoại.

+0

mọi ý tưởng sử dụng QSettings – user198725878

Các vấn đề liên quan