我想使文本标签(百分比)在每个饼图切片中居中。目前,它对其中两个象限都起作用:
我在做什么错了?
driver.wait(webdriver.until.elementLocated(webdriver.By.id(LocatorValue)),20000)
.then(()=>{
return driver.findElement(webdriver.By.id('test'));
}).then((element)=>{
// Perform any operation what you to do.
return element.click();
}).catch(()=>{
console.log('Element not found');
})
答案 0 :(得分:0)
在这一行:
painter.drawText(this->width()/4,this->height(), QString::number(percent*100)+"%");
您似乎每次都在同一位置绘制百分比。您确实已成功绘制了每个部分的百分比,它们每次都被绘制在同一位置。尝试将其更改为此:
painter.drawText(double(i + 1) * this->width()/4,this->height(), QString::number(percent*100)+"%");
然后您会明白我的意思。通过将x值乘以某个变化的值,每个绘制的文本的x位置都将发生变化,因此您将能够看到绘制的不同百分比。
如果您希望它在每个象限中绘制,那么您的代码可能看起来像这样:
# define PI 3.14159265358979323846
...
double draw_x = this->width / 2.0 + cos(PI * (end_angle / 180.0 - angle / 360.0)) * this->width / 4.0;
double draw_y = this->height / 2.0 - sin(PI * (end_angle / 180.0 - angle / 360.0)) * this->width / 4.0;
painter.drawText(draw_x, draw_y, QString::number(percent*100)+"%");
基本上,以上代码中发生的事情是我正在计算每个切片中间的x和y坐标。然后,我在这些位置上绘制百分比。