Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt4.6 QLineEdit样式。如何设置灰色高光边框的样式,使其';什么是圆的?_Qt_Qt4_Qlineedit - Fatal编程技术网

Qt4.6 QLineEdit样式。如何设置灰色高光边框的样式,使其';什么是圆的?

Qt4.6 QLineEdit样式。如何设置灰色高光边框的样式,使其';什么是圆的?,qt,qt4,qlineedit,Qt,Qt4,Qlineedit,我正在设计QLineEdit的样式,使其具有圆形边框,用作搜索框。边框的四舍五入本身很容易,但我一辈子都不知道如何在小部件有焦点的情况下对突出显示的部分进行四舍五入。我尝试过QLineEdit::focus,但这只会修改内部边框。下图显示了圆形qlineedit在获得焦点时的幻觉是如何消失的 QListView, QLineEdit { color: rgb(127, 0, 63); selection-color: white; border: 2px groov

我正在设计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;
}
有焦点和无焦点的图像:
样式设置
QLineEdit:focus
适当地解决您的问题请参见Mac上的:

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

你看,这应该管用。否则,您将不得不子类化
QStyle
,并删除焦点矩形的绘图。请参见

伪状态仅影响实际边界,而不影响外部边界。有可能我没有正确地使用它。我已经添加了我的QLineEdit:focus和QLineEdit:edit focus样式。图片保持不变。是的,你是对的,这实际上改变了小部件的样式,当焦点在小部件上时,它不会影响焦点矩形,添加了更好的答案,留作参考