小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Qt 中 實(shí)現(xiàn)窗體拖動(dòng)

 zkc_younger 2017-02-17

                                                                                                                               實(shí)現(xiàn)窗體拖動(dòng)

     如果我們不使用操作系統(tǒng)自帶的標(biāo)題欄,首先就應(yīng)該將Windows標(biāo)題欄去掉,這個(gè)功能只要一條語(yǔ)句就能夠?qū)崿F(xiàn),那就是在構(gòu)造函數(shù)中加入setWindowsFlags(Qt::FramelessHint),但是窗體就固定不動(dòng)了,既不能拖動(dòng)也不能拉伸,下面我就介紹一種方法來(lái)實(shí)現(xiàn)窗體的拖動(dòng)。

       1. 在類聲明中添加兩個(gè)私有變量:
           QPoint mousePoint;      //鼠標(biāo)相對(duì)于窗體的位置
           bool isMousePressed;    //鼠標(biāo)是否按下

       2. 在類聲明中添加鼠標(biāo)移動(dòng)事件
           protected:
           virtual void mousePressEvent(QMouseEvent *event);  //鼠標(biāo)按下事件
           virtual void mouseMoveEvent(QMouseEvent *event);   //窗體拖動(dòng)事件
           virtual void mouseReleaseEvent(QMouseEvent *event);//鼠標(biāo)釋放事件
   
       3. 定義鼠標(biāo)操作事件
        

         //鼠標(biāo)按下事件
         void MyWidget::mousePressEvent(QMouseEvent *event)
       {
             mousePoint = event->pos();    //鼠標(biāo)相對(duì)于窗體的位置
             isMousePressed = true;        //鼠標(biāo)按下
             event->accept();
        }

        //窗體拖動(dòng)事件
        void MyWidget::mouseMoveEvent(QMouseEvent *event)
       {
             //若鼠標(biāo)左鍵被按下
             if(isMousePressed == true)
            {    

                  //鼠標(biāo)相對(duì)于屏幕的位置
                  QPoint curMousePoint = event->globalPos() - mousePoint;  
                 //移動(dòng)主窗體位置
                  move(curMousePoint);   
             }
             event->accept();
        }
      
        //鼠標(biāo)釋放事件
        void MyWidget::mouseReleaseEvent(QMouseEvent *event)
        {
              //鼠標(biāo)未按下
              isMousePressed = false;
              event->accept();
        }


   *注:必須在頭文件加入#include <QMouseEvent>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多