无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

qt 中,如何實(shí)現(xiàn)圖片展示及旋轉(zhuǎn)矩形操作

2023-02-28 10:51 作者:大衣哥編程  | 我要投稿
  1. 圖片加載

    QPixmap pixmap("img2.png"); ? ? ?

    ?painter.drawPixmap(rect(), pixmap);

  2. 旋轉(zhuǎn)矩形繪制

3.實(shí)現(xiàn)鼠標(biāo)事件響應(yīng)

void mousePressEvent(QMouseEvent *event) override { ? ? ? ? ? if (event->button() == Qt::LeftButton && isPointInOuterCircle(event->pos())) { ? ? ? ? ? ? ? isRotating = true; ? ? ? ? ? ? ? prevPos = event->pos(); ? ? ? ? ? ? ? this->setCursor(Qt::CrossCursor); ? ? ? ? ? } ? ? ? }
? ? ? void mouseReleaseEvent(QMouseEvent *event) override { ? ? ? ? ? if (event->button() == Qt::LeftButton) { ? ? ? ? ? ? ? isRotating = false; ? ? ? ? ? ? ? this->setCursor(Qt::ArrowCursor); ? ? ? ? ? } ? ? ? }
? ? ? void mouseMoveEvent(QMouseEvent *event) override { ? ? ? ? ? if(isPointInOuterCircle(event->pos())) ? ? ? ? ? { ? ? ? ? ? ? ? this->setCursor(Qt::CrossCursor); ? ? ? ? ? } ? ? ? ? ? ?? ? ? ? ? if (isRotating) { ? ? ? ? ? ? ? QPoint delta = event->pos() - prevPos; ? ? ? ? ? ? ? angle += delta.x(); ? ? ? ? ? ? ? if (angle < 0) { ? ? ? ? ? ? ? ? ? angle += 360; ? ? ? ? ? ? ? } else if (angle >= 360) { ? ? ? ? ? ? ? ? ? //angle -= 360; ? ? ? ? ? ? ? } ? ? ? ? ? ? ? prevPos = event->pos(); ? ? ? ? ? ? ? update(); ? ? ? ? ? } ? ? ? }

注意:① 構(gòu)造函數(shù)設(shè)置鼠標(biāo)跟蹤:this->setMouseTracking(true);
??????????
② 設(shè)置光標(biāo)? this->setCursor(Qt::ArrowCursor);
????????
?? ③ 計(jì)算角度

計(jì)算角度可能有問(wèn)題!

qt 中,如何實(shí)現(xiàn)圖片展示及旋轉(zhuǎn)矩形操作的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
上蔡县| 临洮县| 铁岭县| 舟曲县| 阳江市| 萍乡市| 湾仔区| 浙江省| 临泉县| 方正县| 阿拉善右旗| 连城县| 公安县| 万安县| 闸北区| 遵化市| 中西区| 泰和县| 拉萨市| 万盛区| 永泰县| 黔东| 新津县| 诸城市| 浮山县| 德令哈市| 成都市| 子长县| 乐陵市| 寿阳县| 田阳县| 山阴县| 长沙市| 彰化市| 修武县| 永宁县| 芜湖县| 鄂伦春自治旗| 延津县| 丘北县| 巴彦县|