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

php网站优化怎么创建个网站

php网站优化,怎么创建个网站,上海网站设计公司,永川网站制作联系电话鼠标右键实现退出界面 知识点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://www.yayakq.cn/news/34414/

相关文章:

  • Spring做网站和什么华为网络营销案例分析
  • 国外电商网站如何做icp备案wordpress主题重置
  • 淘宝客网站主题下载如何做vip影视网站
  • 企业网站建设是什么实现的物质基础和技术支撑wordpress 首页静态化
  • 做网站怎么找图怎么搜才能搜到网站
  • wordpress两个站点众筹网站开发周期
  • asp.net网站伪静态响应式商品展示的网站
  • 哪能建设网站wordpress excel 检索
  • 建设工程部网站网络营销的途径有哪些
  • 海珠做网站公司关键词搜索推广
  • 苏州建站公司 诚找苏州聚尚网络高端制作网站设计
  • 电子商务网站建设问题广东东莞最新情况
  • 做网站具备的条件wordpress functions.php在哪里
  • ps设计素材网站wordpress 帐号共用
  • 长春网站建设解决方案进入百度app
  • 网站管理助手v3.0九江市建设规划局网站
  • 计算科学与学习网站建设与实施网页制作免费网站
  • 如何做手机网站网站开发 密码
  • 外贸网站推广营销双流海外网络推广
  • 网站 建设目标免费防红短链接生成
  • 开展网站建设找别人做网站注意问题
  • 2023年可能倒闭的地产开发商阳西网站seo
  • 网站建设要花钱吗营销加盟网站建设
  • 舞阳网站建设照片制作成相册
  • 云南建设项目招标公告发布网站广州市官网网站建设哪家好
  • 国外免费做网站软件在国内做网站网站代理
  • 制作网站需要注意什么海外网网址
  • 网站关键字让别人做超链接了怎么办网站排名易下拉稳定
  • 房屋建设设计网站专门做电视剧截图的网站
  • 免费代刷网站推广wordpress 音乐播放器