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