Размер шрифта элементов QComboBox? - PullRequest
3 голосов
/ 05 сентября 2010

Допустим, я заполняю QComboBox числом в каждой строке.И линии очень близки по вертикали.Как я могу контролировать вертикальное расстояние?

1 Ответ

6 голосов
/ 05 сентября 2010

Если вы просто хотите изменить высоту строки (вместо изменения размера шрифта), создайте новый класс делегата:

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

и задайте для него поле со списком:

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

Редактировать:

В приведенном выше примере показано, как изменить высоту строки в раскрывающемся списке.Размер шрифта не изменился.Если вы хотите изменить размер шрифта всего комбинированного списка (включая раскрывающийся список), создайте новый шрифт с нужным размером и установите для него комбинированный список:

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

Или используйте Qt Designer или Qt Creatorизменить размер шрифта.

...