Problem polega na tym, że ustalam sobie w moim notatniku czcionke za pomocą QComboBox.
QComboBox* myComboBox = new QComboBox;
ui->mainToolBar->addWidget(myComboBox);
for (int i = 1; i < 102; i += 2) {
myComboBox->addItem(QString::number(i));
}
myComboBox->setCurrentText("11");
ui->textEdit->setFontPointSize(11);
QObject::connect(myComboBox, SIGNAL(currentTextChanged(QString)), this, SLOT(onFontSizeChanged(QString)));
(...)
void NotepadWindow::onFontSizeChanged(QString selected)
{
ui->textEdit->setFontPointSize(selected.toInt());
}
Problem pojawia się, gdy każda linijka ma inną czcionkę. Przykładowo - zmieniłem czcionkę na "15" i napisałem jakiś tekst w pierwszej linijcę. Zmieniam tekst na 20 i piszę coś w drugiej linijcę. Zapomniałem czegoś dopisać w pierwszej linijcę - wracam więc do 1 linijki i gdy nacisnę myszką, żeby ustawić tam wskaźnik pisania tekstu, to czcionka automatycznie się zmienia na "15"(czyli na taką, jaką był pisany tekst w tej linijcę), ale QComboBox nadal ma wartość "20". W jaki sposób mogę wykryć, że rozmiar czcionki się zmienił, żeby móc synchronizować rozmiar czcionki z QComboBoxem? Analogicznie jest z pogrubianiem, alignmentem, pochylaniem, podkreślaniem.