2010-12-20 8 views
0

今、私はQTextブラウザに/ home/binary /のようなものを表示しています。今度は、このテキストをクリックしてフォルダを開きます。どうやってするか ?事前に感謝QTextブラウザを使用してデスクトップを開く

私のサンプルコードです。私はその結果に> &このresultMap、文字列& filePathに) { マルチマップ::イテレータiterに の

bool MainWindow::displayResult(multimap<string, 

文字列を表示しています。 bool fileStatus = false; int noOfLocFound = 0、forAppending = 0; QStringいいえ。

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; 文字列dir = iter-> second; 、 "フォルダを開き、あなたが意味するか、の内部で何かを選択するユーザーのためのファイルダイアログを開く」と }

return true; 
} 

答えて

0

); リターン偽"

 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 

指定されたディレクトリ?

もしそうなら、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ブラウザで結果を表示しています。結果は/ home/User /、/ media/Arena /などのようになります。今度はQText Browserに表示されているこの結果をクリックしてこのフォルダを開きます。しかし、私はそれをどうやってするのか考えていません。スレッドのいずれかで、誰かが私にアンカーをクリックして使用を依頼しましたが、使用方法はわかりません。だから、それをどうやって行うのか、コードの一部を私に教えてください。事前にTanx。 P.S QT creato – Allwyn

+0

を使用しています。既存のコードの一部を投稿すると、達成したいことが分かりやすいでしょうか? – Mikesname

関連する問題