我正在使用QT 5.8框架开发一个小C ++程序。 它有一个带有一个标签的窗口,我想在标签上画一个正弦波。
正弦波应从标签左边距十像素开始,但是根据标签的对齐参数绘制。
是否有可能禁用标签的对齐参数? 你有类似的问题吗?你如何解决它?
非常感谢您的帮助与合作 问候
这是我的代码:
#define SPAZIO_SX 10 // ten pixel from left
#define SPAZIO_BASSO 10 // ten pixel from bottom
void MainWindow::setGraphic()
{
int i;
QPicture pi;
QPainter p(&pi);
int x0,x1,y0,y1;
int yCoord;
yCoord=this->ui->GraphicLabel->geometry().height();
p.setRenderHint(QPainter::Antialiasing);
p.setPen(QPen(Qt::white, 4, Qt::SolidLine,Qt::RoundCap,Qt::RoundJoin));
x0=SPAZIO_SX;
y0=yCoord-SPAZIO_BASSO-pvalMedia->getValue(0); // return value(0-255)
for(i=1;i<512;i=i++) {
y1=yCoord-SPAZIO_BASSO-pvalMedia->getValue(i);
x1=x0+1;
p.drawLine(x0, y0, x1, y1);
y0=y1;
x0=x1;
}
p.end(); //
this->ui->GraphicLabel->setPicture(pi);
}
答案 0 :(得分:0)
在您的情况下,保证金将完成这项工作。
按照top
,right
,down
,left
的顺序设置QLabel边距:
ui->label->setStyleSheet("margin: 0px 0px 0px 10px;"); //10px left margin
或设置所有4边的边距:
ui->label->setStyleSheet("margin:10px;");