как получить цвет текста из qplaintextedit?

Я хочу получить цвет текста из простого текста. я могу получить fontWeight и другой формат с помощью charFormat (), но когда я отлаживаю основной цвет, для него не устанавливается цвет !!?

Помогите мне, пожалуйста ….

образец кода:

QTextCursor c = textCursor();
QTextCharFormat result = c.charFormat();

if (result.fontWeight() == QFont::Bold)
qDebug() << "bold text";  //worked
else if (result.fontWeight() == QFont::Normal)
qDebug() << "normal text";  //worked

if (result.foreground().color() == Qt::green)
qDebug() << "green";  //not worked !!
else if (result.foreground().color() == Qt::blue)
qDebug() << "blue";  //not worked !!
else
qDebug() << "no color !!";

TNX

1

Решение

Если вы используете Qt4, вы должны использовать класс QPalette. QPalette хранит разные цвета для разных объектов в графическом интерфейсе (цвет текста, фон и т. Д.). Он наследуется от родительского виджета, но может быть изменен для каждого имеющегося у вас виджета.

QPlainTextEdit *pteEdit; // your text edit
QPalette palette = pteEdit->palette();
QColor textColor = palette.color( QPalette::WindowText );

Прочтите документацию по QPalette. Это может быть другая роль цвета в зависимости от типа виджета и наличия подтипов. Для неактивного текста, обычного текста и т. Д.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]