乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      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è)功能只要一條語句就能夠?qū)崿F(xiàn),那就是在構(gòu)造函數(shù)中加入setWindowsFlags(Qt::FramelessHint),但是窗體就固定不動(dòng)了,既不能拖動(dòng)也不能拉伸,下面我就介紹一種方法來實(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)購買等信息,謹(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)論公約

        類似文章 更多