J'ai un QTabWidget, où chaque onglet dispose d'un QPlainTextEdit comme son widget. Alors, comment puis-je accéder à chaque onglet widget? Comment puis-je modifier ce widget?
Vous pouvez utiliser le widget fonction de QTabWidget afin d'obtenir le widget à l'onglet index.
Si le QPlainTextEdit est le seul widget de chaque onglet de la page, alors le widget sera que. Sinon, vous devez obtenir le children du widget et de trouver la QPlainTextEdit.
QPlainTextEdit* pTextEdit = NULL;QWidget* pWidget= ui->tabWidget->widget(1);//for the second tab//You can use metaobject to get widget type or qobject_castif(pWidget->metaObject()->className()=="QPlainTextEdit")
pTextEdit =(QPlainTextEdit*)pWidget;else{QList<QPlainTextEdit*> allTextEdits = pWidget->findChildren<QPlainTextEdit*>();if(allTextEdits.count()!=1){
qError()<<"Error";return;}
pTextEdit = allTextEdits[0];}//Do whatever you want with it...
ptextEdit->setPlainText("Updated Plain Text Edit);
Merci beaucoup, cela a fonctionné ^_^ Comment puis-je accéder à l'onglet courant (pWidget) texte ? J'ai vraiment besoin d'elle.... Conseil: évitez d'utiliser QWidget* pWidget= ui->tabWidget->widget(1); et au lieu d'utiliser QWidget* pWidget= ui->tabWidget->findChild<QWidget *>("your_tab_object_name");. Cela permettra d'assurer que, même lorsque mobiliers votre code fonctionne comme prévu. Le moment où vous réorganiser les onglets (par code ou en les rendant mobiles) le premier morceau de code ne renvoie pas l'onglet que vous voulez vraiment.
Vous pouvez utiliser le
widget
fonction deQTabWidget
afin d'obtenir le widget à l'onglet index.Si le
QPlainTextEdit
est le seul widget de chaque onglet de la page, alors le widget sera que. Sinon, vous devez obtenir lechildren
du widget et de trouver laQPlainTextEdit
.Comment puis-je accéder à l'onglet courant (pWidget) texte ? J'ai vraiment besoin d'elle....
Conseil: évitez d'utiliser
QWidget* pWidget= ui->tabWidget->widget(1);
et au lieu d'utiliserQWidget* pWidget= ui->tabWidget->findChild<QWidget *>("your_tab_object_name");
. Cela permettra d'assurer que, même lorsque mobiliers votre code fonctionne comme prévu. Le moment où vous réorganiser les onglets (par code ou en les rendant mobiles) le premier morceau de code ne renvoie pas l'onglet que vous voulez vraiment.OriginalL'auteur pnezis