当前位置: 首页 > wzjs >正文

玉树营销网站建设公司pc网站建设企业

玉树营销网站建设公司,pc网站建设企业,河南郑州汽车网网站建设,做一个赚钱的网站好鼠标右键实现退出界面 知识点QMenu: QMenu 弹出对话框 --> 相对QMessageBox 更加轻量点 QMenu是Qt库中用于创建弹出式菜单的类,它通常出现在应用程序的顶部菜单栏、按钮的右键菜单或自定义上下文菜单中。以下是关于QMenu的详细介绍: 1. 类的基本特…

 鼠标右键实现退出界面

知识点QMenu:


  QMenu 弹出对话框 --> 相对QMessageBox 更加轻量点 

QMenu是Qt库中用于创建弹出式菜单的类,它通常出现在应用程序的顶部菜单栏、按钮的右键菜单或自定义上下文菜单中。以下是关于QMenu的详细介绍:

1. 类的基本特性

  • 继承关系:QMenu类继承自QWidget,提供了一个菜单样式的小部件。
  • 使用场景:通常用于创建弹出式菜单、上下文菜单和子菜单。
  • 包含项:QMenu可以包含各种类型的菜单项,如普通菜单项、复选框菜单项、分隔符等。

2. 主要功能

  • 添加菜单项
    • addAction(QAction *): 添加一个QAction对象到菜单中。
    • addMenu(QMenu *): 添加一个子菜单到当前菜单。
    • addSeparator(): 在菜单中添加一个分隔线,用于区分不同的菜单项组。
  • 事件处理
    • 通过关联槽函数到triggered(QAction *)信号,可以在用户选择菜单项时执行相应操作。
  • 显示菜单
    • exec(QPoint globalPos): 弹出菜单并等待用户选择一个项,然后返回被选中项的QAction对象指针。
    • popup(QPoint pos): 直接在指定的位置弹出菜单,不阻塞程序执行。

3. 示例代码

QMenu* menu = new QMenu(tr("File"), this); // 创建一个名为 "File" 的菜单  
QAction* actionOpen = new QAction(tr("&Open"), this); // 创建一个名为 "Open" 的菜单项  
menu->addAction(actionOpen); // 将 "Open" 菜单项添加到 "File" 菜单中  
// ... 其他代码 ...  
menu->popup(mapToGlobal(pos)); // 在指定位置弹出菜单

4. 获取QMenu实例

在Qt中,可以通过以下方式创建QMenu实例:

QMenu *menu = new QMenu(this); // this 表示当前上下文,通常是某个窗口或控件

5. 与QMenuBar的关系

  • QMenuBar是一个用于创建菜单栏的小部件,通常位于应用程序的顶部。
  • QMenuBar可以包含多个QMenu,每个QMenu可以包含多个菜单项。


 实例化QMenu对象

构造函数

    menuQuit = new QMenu(this);//创建行为对象 -- 当调用这种行为打的时候弹出close.png这张图片, 指向这个图片的时候显示"退出"字样QAction *closeAct = new QAction(QIcon(":/close.png"), tr("退出"), this);menuQuit->addAction(closeAct); //为menu添加退出行为// 为menu绑定信号与槽connect(menuQuit,&QMenu::triggered,this,[=](){this->close();});


重写事件鼠标右键函数

void Widget::mousePressEvent(QMouseEvent *event)
{if(event->button() == Qt::RightButton){qDebug()<<"右键";menuQuit->exec(QCursor::pos()); // 弹出位置为鼠标当前的位置}
}

效果演示

演示步骤

当对着页面任意位置点击右键的时候

就会弹出这张close.png 图片

当鼠标指上去的时候,就出出现"退出"字样

点击这个弹出窗口就会关闭这个窗口

重写鼠标事件实现拖动窗口

设计思路

先看下图

三个位置://鼠标当前位置: event->globalPos()//窗口当前位置:this->pos()//新窗口位置://1.当鼠标左键被按下的时候记录鼠标/窗口当前值,还有鼠标与窗口的相对值 
event->pos() -- 鼠标相对窗口的坐标 或者
event->globalPos()-this->pos() - 作差求相对坐标
  //2.鼠标左键释放的时候获得鼠标当前值,对应的窗口位置也根据相对距离进行偏移
 

重写鼠标按下事件

void Widget::mousePressEvent(QMouseEvent *event)
{//重写鼠标右键事件if(event->button() == Qt::RightButton){qDebug()<<"右键";menuQuit->exec(QCursor::pos()); // 弹出位置为鼠标当前的位置}//重写鼠标左键事件 --  实现拖动窗口//鼠标当前位置: event->globalPos()//窗口当前位置:this->pos()//新窗口位置://1.当鼠标左键被按下的时候记录鼠标/窗口当前值,还有鼠标与窗口的相对值 event->pos() --鼠标相对窗口的坐标//2.鼠标左键释放的时候获得鼠标当前值,对应的窗口位置也根据相对距离进行偏移if(event->button() == Qt::LeftButton){qDebug()<<"左键";//pos() 是相对整个widget页面的坐标  globalpos() 才是相对真个电脑窗口的坐标//以下两种方式均可得到偏移值//mOffset = event->globalPos()-this->pos();mOffset = event->pos();//qDebug()<<mOffset.x()<<"  "<<mOffset.y();}}
 

重写鼠标移动事件

// 将窗口根据鼠标当前位置和偏移值进行移动(这个值是固定的,作为窗口移动的桥梁)
void Widget::mouseMoveEvent(QMouseEvent *event)
{// 将窗口根据鼠标当前位置和偏移值进行移动(这个值是固定的,作为窗口移动的桥梁)this->move(event->globalPos()-mOffset);
}
 
 


文章转载自:

http://ovh9X79J.ggcjf.cn
http://luZRKxNV.ggcjf.cn
http://jaAosow0.ggcjf.cn
http://JID6Y0t0.ggcjf.cn
http://dIMicTm7.ggcjf.cn
http://CELjGK6t.ggcjf.cn
http://nWHZpGe0.ggcjf.cn
http://ZKm1d3wS.ggcjf.cn
http://oJaLfWx5.ggcjf.cn
http://1KGzfDvu.ggcjf.cn
http://JHKSOGaC.ggcjf.cn
http://M0bD9GVl.ggcjf.cn
http://rn1E68wu.ggcjf.cn
http://sK9YujaC.ggcjf.cn
http://A4aM4BGO.ggcjf.cn
http://uy77mSnI.ggcjf.cn
http://KsyzMs2q.ggcjf.cn
http://sJyqw6Ir.ggcjf.cn
http://bUu4sAiC.ggcjf.cn
http://ZCp3ZjNN.ggcjf.cn
http://kel5uehr.ggcjf.cn
http://ZRqqDRb2.ggcjf.cn
http://UjQc8774.ggcjf.cn
http://V0ecGQQS.ggcjf.cn
http://cmKcARtc.ggcjf.cn
http://UCPmJ1CD.ggcjf.cn
http://tVLLhtRE.ggcjf.cn
http://pZ3Hqmwl.ggcjf.cn
http://AlXmm21l.ggcjf.cn
http://nKiuzn2G.ggcjf.cn
http://www.dtcms.com/wzjs/727444.html

相关文章:

  • 国外经典设计网站北京高端网站建设优势
  • 成都专业网站制作哪家好鲜花网站建设规划书
  • 网站硬件方案seo标题优化是什么意思
  • 计算机程序设计网站开发模具厂咋做网站
  • 小程序怎么进入公众号百度搜索引擎关键词优化
  • 乐都网站建设多少钱网页设计优化网站建设可以吗
  • 博山做网站公司科技型中小企业税收优惠政策2022
  • 集约化网站建设方案装修设计公司公司价格表
  • 网站内容设置站长源码论坛
  • 网站建设捌金手指下拉二七重庆网络推广网站
  • 建设厅注册中心网站考试报名费缴费网站服务器知识
  • 聊城做网站公司网站正在备案中
  • 网站建设公司讯息深圳网站建设排名
  • 电子平台网站建设百度怎样建立网站链接
  • 南宁市两学一做网站游戏推广是干什么的
  • 泾县网站建设网站查询域名入口
  • 计算机网站开发专业如何出售自己的域名
  • 三门峡做网站公司wordpress 工单系统
  • 建设公司网站报价免费看舆情网站
  • 苏州市住房建设局网站做游戏网站赚钱吗
  • 如何运行asp网站网站建设流程报价
  • 做环评工作的常用网站福州志愿者官方网站怎么做
  • 新泰网站设计成都口碑最好装修公司
  • 社交网站盈利吗深圳前十网站扩广公司
  • 代做网站毕业设计网站专题页怎么做
  • 网站详情一般是什么公司做北京东城网站建设公司
  • 网站建设的基本特点网页开发工资
  • 举报网站建设自查报告最近几天的新闻大事
  • 做网站运营需要注意哪些问题足球进球排行榜
  • 怎么卸载windows优化大师百度seo关键词排名优化