我正在为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;
}
Run Code Online (Sandbox Code Playgroud)
有和没有焦点的图像: 没有http://img688.imageshack.us/img688/1986/screenshot20100406at310.png 与http://img251.imageshack.us/img251/1986/screenshot20100406at310.png
在Mac上:
widget.setAttribute(Qt::WA_MacShowFocusRect, 0);
Run Code Online (Sandbox Code Playgroud)
应该工作,看到这个答案.否则,您必须子类化QStyle并删除焦点矩形的绘图.请参阅诺基亚FAQ 736(如何避免绘制焦点矩形)