2010-08-30 15 views
5

याद रखना चाहिए, मैं किसी स्थान से फ़ाइल अपलोड करता हूं, फिर अगला अपलोड अंतिम अपलोड किए गए स्थान को इंगित करना होगा। मैं QSettings का उपयोग करके इस प्रकार कैसे पूरा कर सकता हूं?क्यूसेटिंग - फ़ाइल चयनकर्ता को अंतिम निर्देशिका

उत्तर

18

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

आप QFileDialog (के बारे में) बात कर रहे हैं, तो आप निर्माता में शुरू होने वाले निर्देशिका निर्दिष्ट कर सकते हैं:

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

या आप इस एक जो भी आप शुरू करने निर्देशिका निर्दिष्ट करने की अनुमति की तरह सहायक कार्यों में से एक का उपयोग कर सकते :

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

प्रत्येक उपयोग के बाद, निर्देशिका पथ का चयन किया गया स्टोर और यह अगली बार जब आप संवाद प्रदर्शित का उपयोग करें।

+0

QSettings का उपयोग करने के साथ किसी भी विचार – user198725878

संबंधित मुद्दे