PyQT LineEdit 边框颜色

8
为了让用户注意到未填写或有误的文本框,我会使用以下方式对这个QLineEdit进行颜色着色:
red = "QWidget { background-color:#8B0000;}"
my_cool_QLineEdit.setStyleSheet(red)

这会使整个QLineEdit的背景变成红色。虽然消息确实已发送,但看起来不太好看。我想知道是否可能只将其边框变成红色,而不是QLineEdit的背景。要使用哪种方法?非常感谢!

1个回答

17

试试这个:

from PyQt4 import QtGui

app = QtGui.QApplication([])

w = QtGui.QWidget()
le = QtGui.QLineEdit(w)
lay = QtGui.QHBoxLayout()
w.setLayout(lay)
lay.addWidget(le)
le.setStyleSheet("border: 1px solid red;")
w.show()
app.exec_()

如果你想保存之前的颜色,可以这样做:

ss = le.styleSheet() #original saved
le.setStyleSheet("border: 1px solid red;") #changed
le.setStyleSheet(ss) #back to original

非常好!谢谢!如果您不介意,我还有一个问题。如何将边框从1像素实心红色重置为默认值? - alphanumeric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接