История изменений
Исправление
Stack77,
(текущая версия)
:
Если только виджеты нужны - я бы так сделал (минимальный пример):
// Button.h
#ifndef BUTTON_H
#define BUTTON_H
#include <QPushButton>
#include <QPainter>
#include <QTextDocument>
class Button : public QPushButton
{
Q_OBJECT
public:
Button(QWidget *parent = 0): QPushButton(parent)
{ }
void setHtml(QString html)
{
_htmlText = html;
}
void paintEvent(QPaintEvent *p)
{
QPushButton::paintEvent(p);
QPainter painter(this);
QTextDocument document;
document.setHtml(_htmlText);
document.drawContents(&painter);
}
private:
QString _htmlText;
};
#endif // BUTTON_H
// main.cpp
...
Button btn;
btn.setHtml("<b>Bolder Text</b><br><i>Italic Text</i>");
...
Исходная версия
Stack77,
:
Если только виджеты нужны - я бы так сделал (минимальный пример):
// Button.h
#ifndef BUTTON_H
#define BUTTON_H
#include <QPushButton>
#include <QPainter>
#include <QTextDocument>
class Button : public QPushButton
{
Q_OBJECT
public:
Button(QWidget *parent = 0): QPushButton(parent)
{ }
void setHtml(QString html)
{
_htmlText = html;
}
private:
QString _htmlText;
void paintEvent(QPaintEvent *p)
{
QPushButton::paintEvent(p);
QPainter painter(this);
QTextDocument document;
document.setHtml(_htmlText);
document.drawContents(&painter);
}
};
#endif // BUTTON_H
// main.cpp
...
Button btn;
btn.setHtml("<b>Bolder Text</b><br><i>Italic Text</i>");
...