如何在Qlabel中禁用对齐?

时间:2017-10-06 10:21:48

标签: c++ qt

我正在使用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);
}

1 个答案:

答案 0 :(得分:0)

在您的情况下,保证金将完成这项工作。

按照toprightdownleft的顺序设置QLabel边距:

ui->label->setStyleSheet("margin: 0px 0px 0px 10px;"); //10px left margin

或设置所有4边的边距:

ui->label->setStyleSheet("margin:10px;");