天天看點

在QT用畫筆畫一張并自适應顯示到label上

QPainter p(this);
        QPixmap *mypixmap= new QPixmap(100,100);
        mypixmap->fill(Qt::transparent);
        p.begin(mypixmap);

        for(int s=100; s<=100; s++)
        {
                if(coor  == s-1)
                {
                    p.setPen(QPen(QColor(255,0,0),1, Qt::SolidLine, Qt::FlatCap)); //設定畫筆為顔色
                    p.drawLine(s,0,s,100); //(0,0)為初始坐标,(3647,200)為最終坐标
        }
         p.end();
         mlabel->setScaledContents(true);   //如何不設定圖檔不能自适應大小

         QImage image =mypixmap->toImage();
         QImage resultImg = image.scaled(mlabel->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation);
         mlabel->setPixmap(QPixmap::fromImage(resultImg));
         //如果畫的不是直線隻需要改動p.drawLine(s,0,s,100);選擇畫的方式即可
           

繼續閱讀