Question

Dis-je remplir QComboBox avec un numéro sur chaque ligne. Et les lignes sont très proches verticalement. Comment puis-je contrôler verticale la distance?

Était-ce utile?

La solution

Si vous voulez juste changer la hauteur de ligne (au lieu de changer la taille de la police) créer une nouvelle classe déléguée:

class RowHeightDelegate : public QItemDelegate
{
    Q_OBJECT
public:
    QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
    {
        return QSize(1, 40); // the row height is now 40
    }
};

Et réglez-le sur votre combobox:

ui->comboBox->setItemDelegate(new RowHeightDelegate());

Modifier

L'exemple ci-dessus montre comment changer la hauteur de ligne de la liste déroulante. Taille de la police ne change pas. Si vous voulez changer la taille de la police de l'ensemble combobox (liste déroulante inclus), créer une nouvelle police avec une taille souhaitée et le mettre à la combobox:

QFont font;
font.setPointSize(font.pointSize() + 10);
ui->comboBox->setFont(font);

Ou utilisez Qt Designer ou Qt Creator pour changer la taille des caractères.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top