2017-10-06 7 views
0

私はQT 5.8フレームワークを使って、少しC++プログラムを開発しています。 ラベルが1つのウィンドウがあり、ラベルに正弦波を描きたい。Qlabelでアラインメントを無効にする方法は?

正弦波は、ラベルの左端から10ピクセルで開始する必要がありますが、ラベルの配置パラメータに従って描画されます。

ラベルの配置パラメータを無効にする可能性はありますか? 同様の問題がありましたが、どのように修正しましたか?

は よろしく

あなたの助けや協力ありがとうございました。これは私のコードです:仕事をするあなたの状況余裕で

#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

CSSとセットのQLabelマージン、toprightdownleftから順に:すべての4面

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

または設定マージン:

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

それは問題を解決していません。ちょうど例:関数が正弦波ではなく、下から30ピクセルの水平線である場合、垂直方向の整列がAlignVCenterの場合は垂直整列されます。それを右の位置に表示するには? – Ferrari

関連する問題