2010-12-20 112 views
0

現在我在QText瀏覽器中顯示/ home/binary /之類的東西。現在我想通過點擊這個文本來打開文件夾。怎麼做 ?在此先感謝使用QText瀏覽器打開桌面

這是我的示例代碼。我顯示結果 小號

bool MainWindow::displayResult(multimap<string, 

字符串> &結果映射,串&文件路徑) { 多重映射:迭代ITER; bool fileStatus = false; int noOfLocFound = 0,forAppending = 0; QString no;

noOfLocFound = resultMap.size(); 

    if (noOfLocFound != 0) 
     ui->textBrowser->append("<i>File found at <b>" + no.setNum (

noOfLocFound)+「locations」);

for (forAppending = 0,iter = resultMap.begin(); iter != 

resultMap.end(); iter ++, forAppending ++) { string file = iter-> first; string dir = iter-> second;

 if (forAppending == 0) 
      filePath.append(dir); 
     else 
      filePath.append(","+dir); 

     QString qdir = QString::fromStdString(dir); 

     cout << "Display"; 

     ui->textBrowser->append(qdir); 
     fileStatus = true; 

    } 

    if (fileStatus == false) 
    { 
     ui->textBrowser->append("File not 

發現「); 返回FALSE; }

return true; 
} 

回答

0

通過 」打開文件夾「,你的意思是,打開文件對話框,供用戶選擇的內在的東西給定的目錄?

如果是這樣,你可能想要將你的QTextBrowser的點擊信號連接到一個看起來像這樣的插槽:

// connect events, in MyWindow constructor, or whereever... 
connect(textbrowser, SIGNAL(mousePressEvent(QMouseEvent*)), this, SLOT(openFileDialog(QMouseEvent*))); 

void MyWindow::openFileDialog(QMouseEvent* event) { 
    Q_UNUSED(event); 

    QStringList files = QFileDialog::getOpenFileNames(this, "Select a file...", 
     textbrowser.plainText()); 

    // do something with the files here... 
} 
+0

讓我以另一種方式提出我的問題----現在我正在QText Browser中顯示結果。結果將會像/ home/User /,/ media/Arena /等等。現在我想通過點擊QText Browser中顯示的這個結果打開這個文件夾。但我沒有任何想法如何做到這一點。在有人問我使用錨單擊的線程之一,但我不知道如何使用它。所以你可以給我一段關於如何去做的代碼。 Tanx提前。 P.S我正在使用QT creato – Allwyn 2010-12-21 07:49:19

+0

也許如果你發佈了一些現有的代碼,很容易看到想要完成什麼? – Mikesname 2010-12-21 08:09:25