方法一 采用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,也许高版本已经修复)