【问题标题】:Corners vanish when I set a border-radius当我设置边界半径时角落消失
【发布时间】:2015-08-01 23:23:31
【问题描述】:

以下代码:

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_()

产生这个结果:

奇怪的是,如果我设置背景颜色,边角会按预期显示:

当我移除边框半径时,两种情况下的边角都显示得很好,更奇怪的是,我实际上可以通过设置背景颜色来快速解决这个问题:白色。边距与问题无关,我只是设置了它,以便更容易看到问题。这里发生了什么?这似乎类似于this question 中的 CSS/webkit 问题。

【问题讨论】:

    标签: qt pyqt qtstylesheets


    【解决方案1】:

    我可以用 PyQt 5.6 确认问题,我猜这是一个错误。

    似乎QTextEdit 默认情况下有一个白色背景矩形,如果样式表中没有给出背景颜色,则它会在样式表中指定的背景上覆盖,但它不是如果在样式表中指定了背景颜色,则绘制。

    为什么会这样,我不知道。我们可以检查Qt sources 和/或在那里报告错误。

    但您也已经找到了一种解决方法(将背景颜色指定为白色或任何您喜欢的颜色),所以我建议这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2020-07-12
      相关资源
      最近更新 更多