Bjr,
je cherche à compiler le (petit) programme suivant:
fichier finddialog.h
fichier finddialog.cpp
Code : 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 #ifndef FINDDIALOG_H #define FINDDIALOG_H #include <QDialog> class QCheckBox; class QLabel; class QLineEdit; class QPushButton; class FindDialog : public QDialog { Q_OBJECT public: FindDialog(QWidget *parent = 0); signals: void findNext(const QString& str,Qt::CaseSensivity cs); void findPrevious(const QString & str,Qt::CaseSensivity cd ); private slots: void findClicked(); void enableFindButton(const QString & text); private: QLabel* label; QLineEdit* lineEdit; QCheckBox* caseCheckBox; QPushButton* findButton; QPushButton* closeButton; }; #endif // FINDDIALOG_H
fichier main.cpp
Code : 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 #include <QtGui> #include "finddialog.h" FindDialog::FindDialog(QWidget *parent) : QDialog(parent) { label=new QLabel("Find &what:"); lineEdit=new QLineEdit; label->setBuddy(lineEdit); caseCheckBox=new QCheckBox("Match &Case"); backwardCheckBox=new QCheckBox("Search &backward"); findButton=new QPushButton("&Find"); findButton->setDefault(true); findButton->setEnabled(false); closeButton=new QPushButton("Close"); connect(lineEdit,SIGNAL(textChanged(const QString &)), this,SLOT(enableFindButton(const QString &))); connect (findButton,SIGNAL(clicked()), this, SLOT(findClicked())); connect(closeButton,SIGNAL(clicked()), this,SLOT(close())); QHBoxLayout* topLeftLayout=new QHBoxLayout; topLeftLayout->addWidget(label); topleftLayout->adWidget(lineEdit); QVBoxLayout* leftLayout = new QVBoxLayout; leftLayout->addLayout(topLeftLayout); leftLayout->addWidget(caseCheckBox); leftLayout->addWidget(backwardCheckBox); QVBoxLayout* rightLayout = new QVBoxLayout; rightLayout->addWidget(findButton); rightLayout->addWidget(closeButton); rightLayout->addStretch(); QHBoxLayout* mainLayout=new QHBoxLayout; mainLayout->addLayout(leftLayout); mainLayout->addLayout(leftLayout); mainLayout->addLayout(rightLayout); setLayout(mainLayout); } void FindDialog::findClicked(){ QString text=lineEdit->text(); Qt::CaseSensivity cs=caseCheckBox->isClicked() ? Qt::CaseSensitive : Qt::CaseInsensitive; if (backwardCheckBox->isChecked()) emit findPrevious(text,cs); else emit findNext(text,cs); } void FindDialog::enableFindButton(const QString& text){ findButton->setEnabled(!text.isEmpty()); }
je choisis open run dialog, je double clique sur C/C++ local application...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <QApplication> #include "finddialog.h" int main(int argc,char* argv) { QApplication app(argc,argv); FindDialog* dialog=new FindDialog; dialog->show(); return app.exec(); }
il me dis lorsque je cherche à compiler (en cliquant sur le marteau ou avec "run" : "make: no rule to make target all"
A noter et deuxième question: comment puis-je avoir la complétion de code , elle ne marchait pas lorsque j'ai écrit le programme (pourtant j'ai essayé d'ajouter les bibliothèques dans Project > Properties > Paths and symbols mais ça ne marche pas. Quelle est la démarche correcte= où dois-je ajouter les fichiers include?
merci,
lolveley.
PS: je précise que le programme est une boîte de dialogue qui permet d'indiquer une chaîne de car. que l'on cherche, la bpîte de dialogue étant une partie d'un projet.
PS2: je précise encore que le projet était du type "Qt GUI class", ce qui explique peut-être les problèmes que j'ai...
Partager