Comment passer des variables à fente méthodes dans QT?

Je suis en train de faire un peu de conversation messenger programme, qui a besoin d'une liste de canaux de discussion de l'utilisateur a rejoint. Pour représenter cette liste graphiquement, j'ai fait une liste de QPushButtons, qui représentent un canal différent. Ces boutons sont réalisés avec la méthode suivante, et c'est là mon problème coups de pied dans:

void Messenger::addToActivePanels(std::string& channel)
{
    activePanelsContents = this->findChild<QWidget *>(QString("activePanelsContents"));
    pushButton = new QPushButton(activePanelsContents);
    pushButton->setObjectName("pushButton");
    pushButton->setGeometry(QRect(0, 0, 60, 60));
    pushButton->setText("");
    pushButton->setToolTip(QString(channel.c_str()));
    pushButton->setCheckable(true);
    pushButton->setChecked(false);
    connect(pushButton, SIGNAL(clicked()), this, SLOT(switchTab(channel)));
}

(activePanelContents est un QWidget qui détient la liste.)

Le point est que chaque bouton doit appeler le switchTab(string& tabname) méthode lorsque l'utilisateur clique dessus, y compris le canal du nom de la variable. Cette application ne fonctionne pas bien, et je n'ai pas été en mesure de savoir comment bien le faire.

OriginalL'auteur Neko | 2011-02-07