Définir widget couleur d'arrière-plan
- Je utiliser QCheckBox
dans QTableWidgetCell
QWidget *widget = new QWidget();
QCheckBox *checkBox = new QCheckBox();
QHBoxLayout *layout = new QHBoxLayout(widget);
layout->addWidget(checkBox);
layout->setAlignment(Qt::AlignCenter);
layout->setContentsMargins(0, 0, 0, 0);
widget->setLayout(layout);
table->setCellWidget(0, 0, widget);
Comment puis-je changer le fond de la cellule?
OriginalL'auteur Ufx | 2014-10-09
Vous devez vous connecter pour publier un commentaire.
Le code:
fonctionne très bien, mais vous devez définir le style de chaque conteneur widget que vous ajoutez à votre table:
Dans le but de voir le changement que vous devez le code suivant:
Et le résultat sera:
Voir mes modifications
OriginalL'auteur Jacob Krieg
Vous devriez essayer ceci:
Si vous souhaitez spécifier de manière plus générale, écrire le classtype dans le CSS pour indiquer ce qui la classe dans la hiérarchie doit gérer le drapeau. Cela pourrait ressembler à quelque chose comme ceci ensuite:
CE qui ne fonctionne pas? Comment est-il maintenant?
Il fonctionne comme il ne fonctionne pas du tout. Pas de réaction.
OriginalL'auteur msrd0
Si vous voulez changer le fond de la cellule, pas un widget, l'utilisation
setBackground()
méthode:Dans ce cas, toutes vos cellules seront en rouge (sans lignes blanches autour de la case).
ui->tableWidget_2->item(0, 0)->setBackground(Qt::rouge); est dangereux parce que .setCellWidget ne pas créer un article sur cette cellule qui de retour de pointeur null
OriginalL'auteur Chernobyl