Bonjour à tous,
Je viens à vous car je ne sais plus ou chercher.
Donc ce que j'essaie de faire est de transférer une string provenant de une ou plusieurs QLineEdit et de la transférer dans un QTextEdit.
Chaque QLineEdit devra transférer sont contenue dans un seul QTextEdit mais à une ligne bien spécifique suivant le QLineEdit,
comme vous pouvez voir sur l'image ci-dessous, les champs de texte reliés aux différentes lignes du QTextEdit par un un trait noir rajouté en dessin par mes soins.
Le transfère dois se faire comme un "textChanged()" mais je dois aussi pourvoir récupéré l'id (un simple int) pour savoir à qu'elle ligne placer la string, du coup je dois faire un signal (personnel) prenant en paramètre "monSignal(const QString &, int);"
j'ai codé (il me semble) tout ce qu'il fallait mais le QObject:::connect n'arrive pas à trouver le signal, l'erreur en question est aussi affiché sur le Screenshots.
Voici le code du fichier TabWindow.hpp:
Voici le code du fichier TabWindow.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 #ifndef __GENERAL__ #define __GENERAL__ #include "Header.hpp" class TabWindow: public QGridLayout, public Report { Q_OBJECT private slots: void ReceiveTextChanged(const QString &, int index); public: signals: void SendTextChanged(const QString &, int index); private: int _enum; EnumData *Data; QTextDocument *DocReport; QList<QLineEdit*> *LineGeneralData; QTextEdit *EditReport; public: TabWindow(QWidget *Win = 0); ~TabWindow(); }; #endif
Mon constructeur prends en paramètre un QMainWindow.
Je vous remercie d'avance pour vos réponse constructive.
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 #include "Header.hpp" TabWindow::TabWindow(QWidget *Widget) : QGridLayout(Widget) { int index = 0; Data = new EnumData(); LineGeneralData = new QList<QLineEdit*>; EditReport = new QTextEdit(); DocReport = new QTextDocument(QString("Report"), EditReport); OpenFileReport(); EditReport->setText(ReadReport()); this->addWidget(EditReport, 0, 3, 12, 3, 0); while (index < 11) { LineGeneralData->push_back(new QLineEdit()); this->addWidget(new QLabel(Data->G_Data[index]), index, 0, Qt::AlignLeft | Qt::AlignTop); this->addWidget(LineGeneralData->at(index), index, 1, Qt::AlignLeft); QObject::connect(LineGeneralData->at(index), SIGNAL(SendTextChanged(const QString &, int)), LineGeneralData->at(index), SLOT(ReceiveTextChanged(const QString &, int))); this->setRowStretch(index , 1); this->setRowStretch(index , 0); index++; } } void TabWindow::ReceiveTextChanged(const QString & _str, int index) { // EditReport->find(Data->G_Data[_enum], QTextDocument::FindWholeWords); // std::cout << "Debug[ReceiveTextChanged]: " << _str.toStdString() << std::endl; // EditReport->append(_str); emit this->SendTextChanged(_str, index); } TabWindow::~TabWindow() { }
Partager