字体大小QComboBox项目?

时间:2010-09-05 11:02:07

标签: c++ qt vertical-alignment qcombobox

假设我在每行上填写一个数字填充QComboBox。线条垂直非常接近。如何控制垂直距离?

1 个答案:

答案 0 :(得分:6)

如果您只想更改行高(而不是更改字体大小),请创建一个新的委托类:

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更改字体大小。