Bonjour
J'essaye d'éditer mon QStandardItemModel après initialisation via le clic d'un bouton.
Je m'explique:
1) J'affiche d'abord mon QtableView et QStandardItemMode inisialiser.
2) Ensuite j'écris du text dans mon tableau.
3) Ensuite si je clic sur un bouton, et cela enregistre les texts éditer dans mon tableau dans un fichier.
Mais le problème est que je n'arrive pas à simplement dans un premier temps à interagir avec mon QStandardItemModel.
Je m'explique:
1) 1) J'affiche d'abord mon QtableView et QStandardItemMode inisialiser.
2) Ensuite si je clic sur un bouton, et cela affiche du nouveau text dans mon tableau à l'item spécifier.
Ps: Mon slol3 fonctionne!
Voici mon code:
Construction_Table.h
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 class Construct_Table : public QDialog { Q_OBJECT public: Construct_Table(); public: void Table1(QWidget*,int); void Construct_Buttons(QWidget*,int); QStandardItemModel *modele; QTableView *tableView; QStandardItem *standarditem1; QPushButton *playButton; public slots: void slot3(); };
Je n'ai aucune erreur lors de la compilation, mais après affichage, lorsque je clique sur le bouton playButton, mon application plante.
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 void Construct_Table::Table1(QWidget *View1,int a) { modele = new QStandardItemModel(30,8); for(i=0;i<=29;i++){ for(j=0;j<=7 ;j++){ standarditem1 = new QStandardItem(QStandardItem::UserType); standarditem1->setText("---"); //write( QDataStream & out ); //Charger_Tables_H(i,j) standarditem1->setTextAlignment(Qt::AlignCenter); modele->setItem (i, j, standarditem1); } } tableView = new QTableView(View1); tableView->setGeometry( 0, 62, 650, 30); tableView->setModel(modele); } void Construct_Table::Construct_Buttons(QWidget *infos, int d) { playButton = new QPushButton("ENTER",info); playButton->setGeometry(760, 330, 240, 30); Construct_Table *test = new Construct_Table; QObject::connect(playButton, SIGNAL(clicked()),test, SLOT(slot3())); } void Construct_Table::slot3() { standarditem1 = new QStandardItem(QStandardItem::UserType); standarditem1->setText("Hello"); //write( QDataStream & out ); standarditem1->setTextAlignment(Qt::AlignCenter); modele->setItem (3, 3, standarditem1); tableView->setModel(modele); }
Voila à mon avis je m'y prend mal.
Si quelqu'un à une réflexion à faire c'est le moment
Merci.![]()
Partager