如何检查我的 QLabel 中设置了哪个图像?

san*_*eep 0 c++ user-interface qt

我有一个 Qt 应用程序,我需要在其中显示一个闪烁的 LED,为此我需要使用一些关闭和打开 LED 的 png 图像。我创建了一个 Qlabel 并使用 setstylesheet 来显示图像。我创建了一个计时器并将信号连接到一个插槽。
现在的问题是我如何知道当前显示的图像是否为OFF led or ON led.

我在 GUI 中有很多引导,所以有没有更好的方法来检查这个?

The*_*ght 5

不要费心去比较图像,只需存储 LED 状态的变量。当计时器触发时,您会更改变量的状态并相应地设置 QImage。

// assuming a boolean variable
var = !var;
if(var)
   label->setImage(":/images/imageOn"); 
else
   label->setImage(":/images/imageOff");
Run Code Online (Sandbox Code Playgroud)

这假设图像 imageOn 和 imageOff 已添加到 Qt 资源文件中,并且位于“图像”前缀下。

将逻辑与其视觉表示分开是一种很好的做法。