我的GUI中有一个显示图表的小部件。如果我有多个图表,则在GUI上的矩形中会显示一个图例。

我有一个QStringlist (legendText),其中包含图例的文本。如果不需要图例,则legendText将为空。如果会有图例,legendText将保存文本。

为了找到图例周围矩形的高度,我想执行以下操作:

 int height = 10;
 QStringList legendText;
 ...
 height = height * (legendText->size() > 0);
 ...

intboolean相乘是一个好主意/好的风格吗?我会遇到问题吗?

最佳答案

如果有点不清楚,从技术上讲这很好。
bool将提升为int,因此结果是明确定义的。但是,查看该代码后,我不会立即获得您要实现的语义。

我会简单地写类似:

height = legendText->isEmpty() ? 0 : height;

这使您的意图更加清晰。

10-07 22:18