QT,对lineEdit实现左侧图片添加

lineEdit左侧图片添加 经常作用于 登录输入,搜索输入等场景,这里做个记录

1,如何添加

//对lineEdit左侧嵌入图片

QAction *action = new QAction(this);
action->setIcon(QIcon(":/QQ_Image_touming/email.png"));
ui->lineEdit->addAction(action,QLineEdit::LeadingPosition);


        //这段代码中,我们创建了一个QAction并设置其图标,然后通过addAction()方法将该QAction添加到QLineEdit控件的左侧。
        //请注意,第二个参数指定添加的位置,这里我们使用了QLineEdit::LeadingPosition以在最左侧添加图像

效果:

设置前:

                                                     

设置后:

2,如何实现图片缩放(一般用不到,嵌入图片的时侯它会自动缩放为lineEdit的宽的大小)

//实现缩放

// 创建QAction并设置图标
QAction *action2 = new QAction(this);
action->setIcon(QIcon(":/QQ_Image_touming/email.png"));

// 获取QPixmap对象,并进行缩放操作(这里将图像增大为50x50)
QPixmap pixmap3 = action->icon().pixmap(QSize(80, 80)).scaled(QSize(50, 50), Qt::KeepAspectRatio, Qt::SmoothTransformation);

// 将缩放后的图像重新设置为QIcon
action->setIcon(QIcon(pixmap3));

// 将QAction添加到QLineEdit控件的左侧位置
 ui->lineEdit->addAction(action, QLineEdit::LeadingPosition);

猜你喜欢

转载自blog.csdn.net/qq_58136559/article/details/130879456