前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

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

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

最后完美展现


发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言