3

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

4

1 回答 1

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

于 2010-09-05T11:52:07.137 回答