и?
в каком стиле кнопка QButton отрисовывается с текстом в формате html ? ото ж...
Если бы кнопка отрисовывалась с текстом в формате html, не было бы этой темы
стиль рисует кнопку, мы рисуем на кнопке - все довольны.
Не понял смысловой нагрузки этого предложения, если фразой 'мы рисуем на кнопке' вы хотели сказать что контент кнопки QPushButton рисуется в методе paintEvent(), то это не правда, если посмотреть исходный код библиотеки, видно что кнопка рисуется от начала до конца в стиле
void QPushButton::paintEvent(QPaintEvent *)
{
    QStylePainter p(this);
    QStyleOptionButton option;
    initStyleOption(&option);
    p.drawControl(QStyle::CE_PushButton, option);
}
 case CE_PushButtonLabel:
        if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(opt)) {
            QRect textRect = button->rect;
            uint tf = Qt::AlignVCenter | Qt::TextShowMnemonic;
            if (!styleHint(SH_UnderlineShortcut, button, widget))
                tf |= Qt::TextHideMnemonic;
 
            if (!button->icon.isNull()) {
                //Center both icon and text
                QRect iconRect;
                QIcon::Mode mode = button->state & State_Enabled ? QIcon::Normal : QIcon::Disabled;
                if (mode == QIcon::Normal && button->state & State_HasFocus)
                    mode = QIcon::Active;
                QIcon::State state = QIcon::Off;
                if (button->state & State_On)
                    state = QIcon::On;
 
                QPixmap pixmap = button->icon.pixmap(button->iconSize, mode, state);
                int labelWidth = pixmap.width();
                int labelHeight = pixmap.height();
                int iconSpacing = 4;//### 4 is currently hardcoded in QPushButton::sizeHint()
                int textWidth = button->fontMetrics.boundingRect(opt->rect, tf, button->text).width();
                if (!button->text.isEmpty())
                    labelWidth += (textWidth + iconSpacing);
 
                iconRect = QRect(textRect.x() + (textRect.width() - labelWidth) / 2,
                                 textRect.y() + (textRect.height() - labelHeight) / 2,
                                 pixmap.width(), pixmap.height());
 
                iconRect = visualRect(button->direction, textRect, iconRect);
 
                tf |= Qt::AlignLeft; //left align, we adjust the text-rect instead
 
                if (button->direction == Qt::RightToLeft)
                    textRect.setRight(iconRect.left() - iconSpacing);
                else
                    textRect.setLeft(iconRect.left() + iconRect.width() + iconSpacing);
 
                if (button->state & (State_On | State_Sunken))
                    iconRect.translate(pixelMetric(PM_ButtonShiftHorizontal, opt, widget),
                                       pixelMetric(PM_ButtonShiftVertical, opt, widget));
                p->drawPixmap(iconRect, pixmap);
            } else {
                tf |= Qt::AlignHCenter;
            }
            if (button->state & (State_On | State_Sunken))
                textRect.translate(pixelMetric(PM_ButtonShiftHorizontal, opt, widget),
                             pixelMetric(PM_ButtonShiftVertical, opt, widget));
 
            if (button->features & QStyleOptionButton::HasMenu) {
                int indicatorSize = pixelMetric(PM_MenuButtonIndicator, button, widget);
                if (button->direction == Qt::LeftToRight)
                    textRect = textRect.adjusted(0, 0, -indicatorSize, 0);
                else
                    textRect = textRect.adjusted(indicatorSize, 0, 0, 0);
            }
            drawItemText(p, textRect, tf, button->palette, (button->state & State_Enabled),
                         button->text, QPalette::ButtonText);
        }
        break;
если под "стилем" подразумевается такой стиль, который будет устанавливаться непосредственно кнопке, тролли называет такой подход "прокси-стилем" (proxy-style)
Вы что-то путаете, концепция прокси-стиля позволяет определить единый стиль для всех платформ. Стиль может быть установлен как определенному виджету, так и приложению в целом. Говоря о стиле я имею в виду класс QStyle.
в любом случае, пока не появится стандартных кнопок, поддерживающих форматирование хтмл, парсить текст в styleoption'е чтобы потом прогнать через рендерер хтмл и отрисовать на баттоне нелогично. стоит сменить стиль приложения - на кнопке будет хтмльный "мусор"...
Что мешает сделать 'стандартную' кнопку самостоятельно? Для начала мне кажется стоит рассмотреть ситуацию с одним стилем, не забегая далеко вперед, изменение стиля требуется далеко не каждому приложению.