سؤال

قل أنا ملء QCombobox برقم على كل سطر. والخطوط قريبة جدا عموديا. كيف يمكنني التحكم في المسافة العمودية؟

هل كانت مفيدة؟

المحلول

إذا كنت تريد فقط تغيير ارتفاع الصف (بدلاً من تغيير حجم الخط) ، قم بإنشاء فئة مندوب جديد:

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

وتعيينه على combobox الخاص بك:

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

يحرر:

يوضح المثال أعلاه كيفية تغيير ارتفاع الصف لقائمة القائمة المنسدلة. لم يتغير حجم الخط. إذا كنت ترغب في تغيير حجم الخط في قائمة Combobox بالكامل (قائمة المنسدلة) ، فقم بإنشاء خط جديد بحجم مطلوب وقم بتعيينه على Combobox:

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

أو استخدم QT Designer أو QT Creator لتغيير حجم الخط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top