Bonjour ,
suite à plusieurs recherches et d'effort , je me suis retrouvée perdue et j'ai pas pu avancer , pouvez vous m'aider svp !
je voudrai écrire un programme qui va me permis de créer une interface sur Qt .en fait j'ai construit un fichier csv qui se constitue de toutes les donnes ( produit, prix d'achat,prix de vente ), puis j'ai écris un programme sur Qt qui lit ce fichier et ça marche bien jusqu’à la .
l'interface doit contenir :
un comBobox qui contient tous les produits qui sont dans le fichier csv (coca,café,tisane,eau),et à moi de sélectionner le produit que je veux
un spinbox 1 qui affiche le prix d'achat de chaque produit sélectionné dans la combobox.
un spinbox 2 qui affiche le prix de vente de chaque produit sélectionné dans la combobox.
un spinbox 3 qui affiche le stock de chaque produit sélectionné dans la combobox.
Deux boutons (sauver , quitter),avec leur slot.
je veux prie de bien m'aider , en fait j'ai écrit un code mais il n'est pas complet j'arrive pas à le terminer :
Produit.h:
Produit.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 #include <QMainWindow> #include<QFileDialog> #include<QVector> #include<QComboBox> #include<QSpinBox> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow(); Produit( const QString& nom="", double pvente=0, double pachat=0, int stock=-9999 , const QString& ustock="piece") ; public slots: void slotComboBox_currentIndexChanged(int index); private: QString nom_ ; double pvente_, pachat_ ; // unités non gérées int stock_ ; QVector<Produit> r; int find( const QString& nomP) ; // retourne index du produit, ou -1 QComboBox *C1; QSpinBox *S1; QSpinBox*S2; QSpinBox*S3; } ;
Merci d avance
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
68
69
70
71
72
73
74 #include "mainwindow.h" #include<QBoxLayout> #include<QSpinBox> #include<QApplication> #include<QFrame> #include<QFormLayout> #include<QComboBox> #include<QFile> #include<QString> #include<QPushButton> #include<QTextLine> #include<QLabel> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QFrame *frame =new QFrame(this); setCentralWidget(frame); QBoxLayout*lay=new QBoxLayout(QBoxLayout::TopToBottom,frame); QLabel *label = new QLabel("Produit ",this); QLabel *label1 = new QLabel("Prix d'achat ",this); QLabel *label2 = new QLabel("Prix de vente ",this); QLabel *label3 = new QLabel("Stock ",this); lay->addWidget(label); lay->addWidget(C1); lay->addWidget(label1); lay->addWidget(S1); lay->addWidget(label2); lay->addWidget(S2); lay->addWidget(label3); lay->addWidget(S3); lay->addStretch(); QHBoxLayout*lay1=new QHBoxLayout(this); QPushButton*b1=new QPushButton("Sauver"); lay1->addWidget(b1); QPushButton*b2=new QPushButton("Quitter"); connect(b1,SIGNAL(clicked(),qApp,SLOT(quit())); lay1->addWidget(b2); lay->addLayout(lay1); } int MainWindow::find( const QString& nomP) { for( int k = 0 ; k < r.size() ; ++k) if( nomP == r[k].nom() ) return k ; return -1 ; } MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { //ouvrir un fichier ayant l'extension .csv r = lireProduits(QFileDialog::getOpenFileName(this,"Open File", ".",".csv")); for(const auto & Produit :r) //je récupère le nom du produit et l'insère dans la comboBox comboBox_Produit->addItem(Produit.nom()); ComboBox *C1->setcurrentindex(0,r); ????????????????????????????// la ou je beugue { if(it!=r.end()) { spinBox_prixAchat->setValue(it->pachat()); spinBox_prixVente->setValue(it->pvente()); if(it->isValid()) { spinBox_stocks->setEnabled(true); spinBox_stocks->setValue(it->stock()); } else spinBox_stocks->setEnabled(false); } { qApp->quit(); }
Partager