方法一 采用qss

使用action的方法添加图标

    //一、新建action
    QAction* userAction = new QAction(ui->nameEdit);
    QAction* passwordAction = new QAction(ui->numEdit);
    //二、给action添加icon
    userAction->setIcon(QIcon(":/password.png"));
    passwordAction->setIcon(QIcon(":/num.png"));
    //三、给空间添加action
    ui->nameEdit->addAction(userAction,QLineEdit::LeadingPosition);
    ui->numEdit->addAction(passwordAction,QLineEdit::LeadingPosition);
    
   //QLineEdit::TrailingPosition 在右侧

成果事例

 

方法二 采用qss

QLineEdit 
{
    background: #f3f3f3;
    background-image: url(:Images/search.svg); /* actual size, e.g. 16x16 */
    background-repeat: no-repeat;
    background-position: left;
    color: #252424;
    font-family: SegoeUI;
    font-size: 12px;
    padding: 2 2 2 20; /* left padding (last number) must be more than the icon's width */
    border: 1px solid #dddddd;
}
ps:注意要设置border: 1px solid #dddddd;不然会出现背景图标闪烁(应该是qt的bug,也许高版本已经修复)