我有一个按钮,它的背景图像会根据ui从串行接收到的数据包定期更改。当用户单击该按钮时,该按钮将变为带边框的红色。
pb_Jack1Up ->setStyleSheet("QPushButton {border-image: url(:/ArrowKey/Up_Default.jpg); } QPushButton:focus {border-width: 1px;border-style: solid; border-radius: 4px;}");
现在,我想要的是给按钮一些效果,让用户知道按钮是被点击的。例如,当用户单击按钮时使按钮进入内部,当用户松开按钮时,将不再设置按钮边框。然而,在我的例子中,按钮边框仍然存在。我也不能用按下和释放的插槽设置样式表,因为背景图像取决于我们从串行接收到的内容。
有谁能帮帮我吗?
发布于 2013-05-06 15:49:25
您可以使用:
QPushButton { ... }
QPushButton:disabled { ... }
QPushButton:pressed { ... }
QPushButton:focus { ... }
QPushButton:hover { ... }
或者看看this的博客条目。
发布于 2013-05-06 15:50:00
释放鼠标后,该按钮会保持焦点。这就是为什么它仍然有红色边框的原因。您可以检查,如果您激活表单的另一个小部件,单击或Tab键,红色边框消失。
尝试使用
QPushButton:pressed
而不是焦点
https://stackoverflow.com/questions/16394242
复制相似问题