我在LineEdit中创建了X按钮,当我单击该按钮时,LineEdit清除了。但是用我的方法,X按钮看起来有点大而不漂亮,我需要将其缩小。我该怎么办?
myLineEdit = new LineEdit;
myLineEdit->setFixedHeight( 25 );
m_clear = m_lineEdit->addAction( QIcon( ":/clearButton" ), QLineEdit::TrailingPosition );
clearButton.png的大小为12x12像素,因此在这种情况下,它会放大并且看起来并不漂亮。
答案 0 :(得分:4)
对于此解决方案,假定在原始图像中前景尺寸和背景之间的关系为1:1(这在图标中是正常的),因此解决方案是增加该关系,为此我们创建了一个新图片
QPixmap in(":/clearButton");
QPixmap out(in.size()*10/7);
QRect r= in.rect();
r.moveCenter(out.rect().center());
out.fill(Qt::transparent);
QPainter painter(&out);
painter.drawPixmap(r , in);
painter.end();
QLineEdit *m_lineEdit = new QLineEdit;
m_lineEdit->setFixedHeight(25);
m_lineEdit->addAction(QIcon(out), QLineEdit::TrailingPosition);
之前:
之后: