2

QPUshButton をサブクラス化し、paintEvent をオーバーライドしてカスタマイズしようとしています。私はテキストを書いており、その後に以下のようにアイコンが続きます:

paintEvent(QPaintEvent *paint)
    {
         QStyleOption opt;
         opt.init(this);
         QPainter p(this);
        //Draw the base
         style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);

        //Draw the text
         style()->drawItemText(&p,this->rect(),Qt::AlignCenter,(this->palette()), true, this->text());

         if(!this->icon().isNull())
            //Draw the icon at 75% button height
            style()->drawItemPixmap(&p, this->rect(),Qt::AlignRight|Qt::AlignVCenter, this->icon().pixmap(this->rect().height()  * 0.75));

    }

ただし、取得するボタンは次のとおりです。

ここに画像の説明を入力

ご覧のとおり、アイコン画像の周りにボックスがあります。どうすればそれを削除できますか? (サイズを縮小する前にスナップショットを撮ったため、アイコンのサイズが大きく表示されます。ただし、画像がはるかに小さく、画像に収まる場合でも、ボックスが表示されます)。

4

0 に答える 0