以下代码:
app = QApplication([])
mainWindow = QMainWindow()
mainWindow.show()
textEdit = QTextEdit()
mainWindow.setCentralWidget(textEdit)
app.setStyleSheet("""
QTextEdit
{
margin: 10px;
border: 1px solid black;
border-radius: 20px;
}
""")
app.exec_()
产生这个结果:
奇怪的是,如果我设置背景颜色,角落会按预期显示:
当我移除border-radius时,两个角落都显示正常,而更奇怪,我实际上可以通过设置background-color:white来快速修复此问题。保证金与此问题无关,我只是设定了这个问题,因此更容易看到问题。这里发生了什么?它似乎与this question中的CSS / webkit问题类似。
答案 0 :(得分:1)
我可以用PyQt 5.6确认问题,我猜这是一个错误。
似乎QTextEdit
默认情况下有一个白色背景矩形,如果样式表中没有给出背景颜色,则会在样式表中指定背景 ,但它如果在样式表中指定了背景颜色,则不会绘制。
为什么会这样,我不知道。我们可以检查Qt sources和/或报告那里的错误。
但是你也已经找到了一种解决方法(将背景颜色指定为白色或任何你喜欢的颜色),所以我建议这样做。