为QFrame

时间:2017-09-18 00:59:01

标签: python pyqt pyqt5

我有以下代码:

frame = QFrame()
frame.setStyleSheet('QFrame { border: 1px solid {0}; background: {1}; }'.format(border, background))

但是我收到以下错误:KeyError: ' border'

我已经尝试了很多变种,但无法让它发挥作用。我试图设置QFrame的样式,但不是子窗口小部件。

1 个答案:

答案 0 :(得分:0)

问题在于使用格式的格式存在混淆,如下所示:

"{key}".format(key=some_key)

要解决此问题,您必须使用{{}},如下所示:

app = QApplication(sys.argv)
frame = QFrame()
border = 6
background = '#ff0000'
frame.setStyleSheet("""QFrame{{ border: 1px solid {0}; background: {1}; }}""".format(border, background))
frame.show()
sys.exit(app.exec_())