使用QPalette可以设置QLineEdit的背景颜色和不透明度。示例代码如下:
from PyQt5.QtWidgets import QApplication, QLineEdit
from PyQt5.QtGui import QPalette, QColor
app = QApplication([])
edit = QLineEdit()
palette = edit.palette()
palette.setColor(QPalette.Base, QColor(255, 0, 0)) # 设置背景颜色为红色
palette.setColor(QPalette.Base, QColor(255, 0, 0, 255)) # 设置背景颜色不透明
edit.setAutoFillBackground(True)
edit.setPalette(palette)
edit.show()
app.exec_()
上述代码中,先创建了一个QLineEdit对象edit,并获取其默认的调色板palette。调用palette.setColor方法即可设置背景颜色为红色,并且使用QColor(r, g, b, a)的方式设置不透明度为255,表示完全不透明。最后调用setAutoFillBackground和setPalette方法,使设置生效,并显示QLineEdit对象。