LINUX.ORG.RU

Помогите разобраться с QFontComboBox

 ,


0

1

1. Как связать событие из checkbox со свойством fontcombobox а именно его свойством monospacedfonts? Вот картинка если словами не понятно. Надо чтобы при смене состояния чекбокса менялось состояние нужного поля fontcombobox. Только взялся за Qt и изучаю. Пытался сделать событие вот так:

ui->fontComboBox->setFontFilters(QFontComboBox::MonospacedFonts); // Правильно?

2. Но как вернуть назад состояние FontComboBox::MonospacedFonts?

3. Вопрос возник когда всё таки скомпилил и запустил. При нажатии чекбокса шрифты отфильтровываются, да. Но список остается таким же большим. То есть остаются пустые поля. Как его перетрести? update, repaint пробовал, не то. Доки читаю и не нахожу ответы.


1.

    connect(ui->checkBox, &QCheckBox::toggled, this, [this](bool flag){
        ui->fontComboBox->setFontFilters(flag ? QFontComboBox::MonospacedFonts
                                              : QFontComboBox::AllFonts);
    });

2. Внезапно: fontFilters()

3. УМВР

RazrFalcon ★★★★★
()
Последнее исправление: RazrFalcon (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

3. УМВР

Не подскажешь почему у меня не работает? Я подумал, что это вендопроблемы, но нет. В линуксе так же https://i.imgur.com/qZZRPFf.png Количество шрифтов в соответствии с фильтром уменьшается, а количество строк в чекбоксе остается прежним. И получается много пустых линий которые можно скролить. Как их убрать/добавить после фильтрации?

Аааа! Понял кое что. Открой сначала список шрифтов, поскроль его. Потом нажми чекбокс фильтрации и снова открой список шрифтов и увидишь эти пробелы. Если же при запуске программы сразу нажать чекбокс, а потом список смотреть, то и у меня работает. Только вот потом список-то не увеличивается когда чекбокс отжать.

ult
() автор топика
Последнее исправление: ult (всего исправлений: 2)
Ответ на: комментарий от RazrFalcon

Нивзубногой. Может лучше ты?

ult
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.