diff --git a/src/components/ListBox.cpp b/src/components/ListBox.cpp index aca9cb5..156a770 100644 --- a/src/components/ListBox.cpp +++ b/src/components/ListBox.cpp @@ -13,16 +13,17 @@ ListBox::ListBox(QWidget *parent) : QToolButton(parent) { } void ListBox::paintEvent(QPaintEvent *e) { - QString temp = this->text(); - this->setText(""); - QToolButton::paintEvent(e); - this->setText(temp); QStylePainter painter(this); QStyleOptionToolButton opt; initStyleOption(&opt); + //在最后绘制按钮的时候将text清空,避免绘制出左对齐的文字 + opt.text.clear(); + painter.drawComplexControl(QStyle::CC_ToolButton, opt); + //自行绘制居中对齐的文字 int x = (size().width() - this->iconSize().width()) / 2 - (this->text().length() * opt.font.pixelSize()) / 4; int y = this->iconSize().height() + 2; painter.drawText(x,y,this->text()); } +