Друзья, помогите, я в тупике. Пишу свой диалог выбора шрифтов. Всё получается, кроме двух вещей:
1) В списке доступных шрифтов выделенный шрифт не фокуссируется, в системе много шрифтов, и список получается очень длинный, и приходится листать мышкой до выделенного шрифта, а хотелось бы, чтобы список автоматически пролистывается в QListView и выделенный шрифт был по середине этого списка.
QFontDatabase fdbShrifti;
QStringList slsShrifti;
slsShrifti = fdbShrifti.families();
m_pslmShrift = new QStringListModel();//в хидере QStringListModel* m_pslmShrift = 0;
m_pslmShrift->setStringList(slsShrifti);
ui->listView->setModel(m_pslmShrift);
m_pismShrift = new QItemSelectionModel(m_pslmShrift);//QItemSelectionModel* m_pismShrift = 0;
ui->listView->setSelectionModel(m_pismShrift);
QModelIndex mndShrift = m_pslmShrift->index(индекс в другом месте посчитал);
ui->listView->selectionModel()->select(mndShrift, QItemSelectionModel::SelectCurrent);
ui->listView->show();
Если будут ошибки в коде, то это я с телефона код писал на форуме, а это больно. Как сделать, чтобы выделенное имя шрифта ещё фокусировалось в списке?
2) И вторая моя боль, это показать пример отображения шрифта.
В учебнике нашёл пример:
QPainter pntShrift(this);
pntShrift.setFont(шрифт);
pntShrift.drawText(10, 40, "тест");
Но данный код я не могу всунуть в форму. Подскажите как? Может это сделать через графическую сцену? Я пробовал через сцена->render(&pntShrift); но ничего не отображалось. Други, помогите готовым кодом или ссылкой на него. Ничего не получается у меня. :-(