Как получить цвет шрифта приложения в Qt - PullRequest
2 голосов
/ 28 апреля 2010

Я хочу поместить некоторый текст в мой интерфейс.

Я рисую текст в событии рисования виджета, используя Painter.

Вот пример кода, который показывает, как я рисую текст:

QWidget::paintEvent(painter);
QPainter paint(this);
paint.drawText(QPoint(10,30),"Duplex");

Однако цвет текста выглядит как цвет темы по умолчанию. Как установить цвет шрифта приложения для текста в событии рисования?

Ответы [ 2 ]

6 голосов
/ 28 апреля 2010

вот ответ, который я получил

 QPen pen  = (QApplication::palette().text().color());

 paint.setPen(pen);
1 голос
/ 28 апреля 2010

Вы должны использовать QPainter::setBrush(QBrush &) и QPainter::setPen(QPen &) методы для изменения цвета, используемого для рисования графики (и, соответственно, цвета текста).

Команда paint.setPen(QPen(QColor(255,0,0)) установит красный цвет контура, а paint.setBrush(QBrush(QColor(0,255,0)) установит зеленый цвет заливки.

Вы также можете напрямую использовать методы QPainter::setPen(QColor &) для изменения цвета контура.

...