Sin*_*all 6 c++ qt qtstylesheets qpushbutton
我有两个自定义样式的QPushButton按钮.这是Ok按钮的样式表:
QPushButton
{
background-color:#9dce2c;
border-radius:7px;
border:1px solid #83c41a;
color:#ffffff;
font-size:15px;
font-weight:bold;
padding:4px 24px;
text-decoration:none;
}
QPushButton:pressed
{
border:2px solid black;
}
Run Code Online (Sandbox Code Playgroud)
现在这是它的样子:

这很好.但是,如果单击该按钮(获得焦点),它将开始如下所示:

请注意文本周围有轻微的阴影矩形.看起来好像文本被"选中"了.当按钮失去焦点时,它会再次开始正常显示.我想这是因为选中的控件突出显示如下:

但是,我希望我的按钮保持不变,无论它是否专注.有什么方法可以解决这个问题吗?
找到了解决方案。事实证明非常简单。
该问题确实是由按钮接收焦点引起的。我所需要做的就是将按钮的focusPolicy属性设置为NoFocus。可以在 QtDesigner 中完成:

或者在代码中:
ui.okButton->setFocusPolicy(Qt::NoFocus);
完成后,点击按钮不会使其获得焦点,外观也不会改变。