QPushButton专注

时间:2013-05-06 07:41:45

标签: qt qt4

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

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

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

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以使用:

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

或查看this博客条目。

答案 1 :(得分:1)

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

尝试使用

QPushButton:pressed

而非焦点