近期实现UI设计师的登陆窗口,用户名和密码 输入框前面有个图标。
Qt Designer 里lineEdit控件属性面板没有设置图标的地方。
问chatGPT,给出了让人啼笑皆非的答案
看来AI也不行,只能自己摸索。从二个方面开始尝试:
1、stylesheet里尝试设置
self.loginEdit.setStyleSheet("border-radius: 10px; border: 1px groove gray;border-style: outset;padding: 2 2 2 20;background-image: url(:img/pwd.png); background-repeat:no-repeat; background-position: left;")
发现也不报错,但是图标就是显示不出来
2、然后参考c版本在setAction里设置
C代码是这么实现的
const QIcon passwordIcon(":/img/passwd.png");
ui->password->setClearButtonEnabled(true);
ui->password->addAction(passwordIcon, QLineEdit::LeadingPosition);
那么python怎么实现呢,代码如下:
loginEditIcon = QtGui.QIcon("img/pwd.png")
self.loginEdit.addAction(loginEditIcon,QtWidgets.QLineEdit.LeadingPosition)
最后完美展现