小工具知识网

当前位置: 首页 > 行业知识 > qt学习:窗体无状态栏-关闭-移动

行业知识

qt学习:窗体无状态栏-关闭-移动

2026-11-06 02:42:43 来源:互联网转载

���录

()

设置无状态栏

()

关闭

设置左键弹窗关闭功能

鼠标左键事件

移动

鼠标左键事件

鼠标左键按下后移动事件


设置无状态栏

setWindowFlag(Qt::FramelessWindowHint);

关闭

设置左键弹窗关闭功能

//新建下拉菜单menuQuit = new QMenu(this);//QAction 则代表一个可以在菜单、工具栏或按钮中触发的动作QAction *closeAct = new QAction(QIcon(":/res/close.png"), tr("退出"), this);//将动作赋值给下拉菜单menuQuit->addAction(closeAct);//在 menuQuit 菜单中选择一个动作时,triggered 信号会被发出,并触发这个Lambda函数connect(menuQuit,&QMenu::triggered,this,[=]{    //关闭窗口    this->close();});

鼠标左键事件

void Widget::mousePressEvent(QMouseEvent *event){    if(event->button() == Qt::RightButton){        //触发菜单栏        menuQuit->exec(QCursor::pos());    }}

移动

鼠标左键事件

void Widget::mousePressEvent(QMouseEvent *event){    if(event->button() == Qt::LeftButton){        //获取鼠标当前在桌面的哪个位置         mOffset = event->globalPos()-this->pos();    }}

鼠标左键按下后移动事件

void Widget::mouseMoveEvent(QMouseEvent *event){    //设置窗口的新位置  移动后的位置减去移动前的    this->move(event->globalPos() - mOffset);}

上一篇:怎么玩应用宝服务器?

下一篇:服务器换地方怎么设置端口?