QLabelを次のようにサブクラス化しました。
class TestLabel: public QLabel
{
Q_OBJECT
public:
TestLabel(QWidget *parent = 0):QLabel(parent){}
TestLabel(const QString& text, QWidget *parent = 0):QLabel(text, parent){}
protected:
void paintEvent(QPaintEvent *paint)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
style()->drawItemText(&p,this->rect(),Qt::AlignLeft, (this->palette()), true, this->text());
}
};
私は次のようにスタイルシートを設定しました:
TestLabel {
font-size: 16px;
color: rgb(127, 127, 127);
}
次を使用してテキストを折り返そうとしています:tlab->setWordWrap(true);
paintEventをオーバーライドする前は、テキストは正しく折り返されていました。しかし、現在、テキストは折り返されていません。ドキュメントには、「テキストはフラグに従って配置および折り返されている」と記載されています。、しかし、どうすれば両方のフラグを渡すことができますか(両方とも別個の列挙型です)?