9

我将 QLineEdit 设计为具有圆形边框以用作搜索框。边框本身的四舍五入很容易,但是我一生都无法弄清楚如何在小部件具有焦点时将其突出显示的部分四舍五入。我试过 QLineEdit::focus,但这只会修改内部边框。下图显示了圆形 qlineedit 在获得焦点时是如何消失的。

QListView, QLineEdit {
    color: rgb(127, 0, 63);
    selection-color: white;   
    border: 2px groove gray;
    border-radius: 10px;
    padding: 2px 4px;
}
QLineEdit:focus {
    color: rgb(127, 0, 63);
    selection-color: white;   
    border: 2px groove gray;
    border-radius: 10px;
    padding: 2px 4px;
}

QLineEdit:edit-focus {
    color: rgb(127, 0, 63);
    selection-color: white;   
    border: 2px groove gray;
    border-radius: 10px;
    padding: 2px 4px;
}

有焦点和无焦点的图像: 没有 和

4

2 回答 2

5

在 Mac 上:

widget.setAttribute(Qt::WA_MacShowFocusRect, 0);

应该工作,看到这个答案。否则,您将不得不子类QStyle化并删除那里的焦点矩形的绘图。请参阅诺基亚常见问题解答 736(如何避免绘制焦点矩形)

于 2010-04-15T02:51:19.087 回答
-1

适当的样式QLineEdit:focus应该可以解决您的问题,请参阅Qt Stylesheet Reference, List of Pseudo States

于 2010-04-14T02:57:02.860 回答