程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

python Qt Designer lineEdit设置前置或者后置图标遇到得坑

hfteth 2025-07-28 16:37:31 技术文章 8 ℃

近期实现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)

最后完美展现


Tags:

最近发表
标签列表