Comment puis-je ajouter un en-tête avec les données d'un QTableWidget dans Qt?
Je suis encore à apprendre Qt et je suis redevable à la communauté pour m'offrir de grandes, de très des réponses en temps opportun à mon Qt questions. Merci.
Je suis assez confus sur l'idée d'ajouter un en-tête à une QTableWidget
. Ce que je voudrais faire est d'avoir un tableau qui contient des informations sur les membres de l'équipe. Chaque row
pour un membre doit contenir son prénom et son nom, chacun dans sa propre cellule, une adresse e-mail dans une cellule, et le bureau à l'autre de la cellule. J'aimerais avoir un header
au-dessus de ces colonnes pour nom le cas échéant.
Je suis en train de commencer doucement et d'obtenir juste l'en-tête pour afficher "Dernier" (comme dans le nom de famille). Voici mon code.
int column = m_ui->teamTableWidget->columnCount();
m_ui->teamTableWidget->setColumnCount(column+1);
QString* qq = new QString("Last");
m_ui->teamTableWidget->horizontalHeader()->model()->setHeaderData(0,
Qt::Horizontal, QVariant(QVariant::String, &qq));
Ma table est rendu corretly, mais l'en-tête ne contient pas de ce que je m'attends. Il contient 1 cellule qui contient le texte "1".
Je suis évidemment de faire quelque chose de stupide, ici c'est le mal, mais je suis perdu. - Je garder de verser sur la documentation, sans rien trouver.
Merci pour toute aide.
OriginalL'auteur San Jacinto | 2009-11-24
Vous devez vous connecter pour publier un commentaire.
La solution la plus simple est
setHorizontalHeaderLabels(myListOfHeaderLabels)
.Je l'ai fait pour le lien de
QTableWidget::setHorizontalHeaderLabels
. Même le nom de la méthode, de la même fonctionnalité.J'ai corrigé le lien rompu pour vous maintenant 5 ans plus tard. 😉 Mais je pense que vous devriez élargir votre réponse à la question de ne pas être le lien-seulement. Il est facile de faire un exaple code.
OriginalL'auteur Lukáš Lalinský
J'en vois un problème potentiel, et aussi un moyen plus facile de le faire.
Tout d'abord, le problème:
Je pense que vous voulez faire à la place:
Maintenant, la façon la plus facile de définir les données pour un élément d'en-tête:
OriginalL'auteur Caleb Huitt - cjhuitt
À la demande de la personne qui me dirigea vers le bon endroit, je vous poste le chemin que j'ai accompli cela comme une réponse et je suis de l'accepter.
OriginalL'auteur San Jacinto
Pour la postérité:
La valeur par défaut implimentations de setHeaderData() et headerData() dans QAbstractItemModel ne pas faire n'importe quoi. Vous pouvez (devez?) (re)impliment headerData() pour retourner utile une étiquette.
OriginalL'auteur tgoodhart