Bonjour à tous j'essaye de faire un glisser déposer avec QT pour une applicationd e recherche afin de glisser directement un fichier dans ma textedit, mais j'ai un problème le prototypage de fonction n'ai pas bonne ou j'ai mal déclarer quelque chose pourriez-vous m'aider voici mon code pour textfinder.cpp:

Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "textfinder.h"
#include "ui_textfinder.h"
#include <QFile>
#include <QTextStream>
#include <iostream>
#include <QFileDialog>
#include <QSyntaxHighlighter>
#include <QMessageBox>
 
 
textfinder::textfinder(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::textfinder)
{
    ui->setupUi(this);
    setAcceptDrops(true);//ici j'autorise le glisser déposer
}
 
textfinder::~textfinder()
{
    delete ui;
}
 
void textfinder::on_findbutton_clicked()
{
     //on vérifie que le text edit contient bien du text
    if(ui->textEdit->toPlainText().isEmpty()){
       QMessageBox::critical(this, "Erreur", "Veuillez s'il vous plaît charger un texte à l'aide avec le menu en haut à gauche.");
     }
    //on vérifier qu'un mot à bien était entré
    if(ui->lineEdit->text().isEmpty()){
         QMessageBox::critical(this, "Erreur", "Veuillez saisir un mot à rechercher s'il vous plaît.");
    }
 
    QPalette palette = ui->textEdit->palette();
    palette.setColor(QPalette::Highlight, Qt::green);
 
  QString searchString = ui->lineEdit->text();
  if(ui->radioButton->isChecked()){
    ui->textEdit->find(searchString,QTextDocument::FindWholeWords);
  }else{
     ui->textEdit->find(searchString,QTextDocument::FindBackward);
  }
}
 
 
void textfinder::dropEvent(QDropEvent *event)
{
    ui->textEdit->setPlainText(event->mimeData()->text());
    mimeTypeCombo->clear();
    mimeTypeCombo->addItems(event->mimeData()->formats());
 
    event->acceptProposedAction();
 
}
 
 
void textfinder::loadTextFile()
{    QString cheminfichier;
     cheminfichier = QFileDialog::getOpenFileName(this,tr("Open file"),"C:/Users/kevin/Documents", tr(" File (*.txt;*.cpp;*.java;)"));
     QFile inputFile;
     inputFile.setFileName (cheminfichier);
    inputFile.open(QIODevice::ReadOnly);
    QTextStream in(&inputFile);
    QString line = in.readAll();
    inputFile.close();
    ui->textEdit->setPlainText(line);
    QTextCursor cursor = ui->textEdit->textCursor();
    cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 0);
 
}
 
void textfinder::on_actionOuvrir_triggered()
{   loadTextFile();
}

voici mon fichier .h:

Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class textfinder : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit textfinder(QWidget *parent = 0);
    ~textfinder();
 
private slots:
    void on_findbutton_clicked();
 
    void on_actionOuvrir_triggered();
  //  void mousePressEvent();
    void dropEvent();
 
private:
    Ui::textfinder *ui;
    void loadTextFile();
 
};
 
#endif // TEXTFINDER_H

et enfin voici les erreurs retourné :

Nom : drop.PNG
Affichages : 322
Taille : 15,3 Ko

merci à vous cordialement.