Frage

Say I fill QComboBox mit einer Nummer in jeder Zeile. Und Linien sind ganz in der Nähe in vertikaler Richtung. Wie kann ich steuern, um den Abstand vertikal?

War es hilfreich?

Lösung

Wenn Sie nur die Zeilenhöhe ändern möchten (anstatt zu ändern Schriftgröße) erstellen Sie eine neue Delegate-Klasse:

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
    }
};

Und setzen Sie sich auf Ihre Combobox:

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

Edit:

Das obige Beispiel zeigt, wie die Zeilenhöhe der Drop-Down-Liste zu ändern. Die Schriftgröße wird nicht verändert. Wenn Sie die Schriftgröße des gesamten combobox (Drop-Down-Liste enthalten) ändern möchten, erstellen Sie eine neue Schriftart mit einer gewünschten Größe und legen Sie es auf die Combobox:

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

oder benutzen Qt Designer oder Qt Creator die Schriftgröße zu ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top