0

我有一个按钮,它的背景图像会根据 ui 从串行接收的数据包定期更改。当用户单击按钮时,它会变成带边框的红色。

pb_Jack1Up  ->setStyleSheet("QPushButton {border-image: url(:/ArrowKey/Up_Default.jpg);  } QPushButton:focus {border-width: 1px;border-style: solid; border-radius: 4px;}");

现在,我想要给按钮一些效果,让用户明白按钮被点击了。比如让按钮在点击时进入内部,当用户释放按钮边框时不再设置。但是,在我的情况下,按钮边框仍然存在。我也不能设置带有按下和释放槽的样式表,因为背景图像取决于我们从串行接收到的内容。

有人可以帮我吗?

4

2 回答 2

1

您可以使用:

QPushButton          { ... }
QPushButton:disabled { ...  }
QPushButton:pressed  { ... }
QPushButton:focus    { ... }
QPushButton:hover    { ...   }

或查看博客条目。

于 2013-05-06T07:49:24.810 回答
1

释放鼠标后,按钮保持焦点。这就是为什么它仍然有红色边框。您可以检查如果您激活表单的另一个小部件,单击或切换,红色边框消失。

尝试使用

QPushButton:pressed

而不是专注

于 2013-05-06T07:49:59.703 回答