Qt全屏后无法响应contextMenuEvent()事件

熊猫呀 2018-01-22 12:11:26
如题
在使用 w.showFullScreen(); 右键菜单无效。
使用 w.showMaximized(); 功能正常.
为什么呢? 难道全屏后 影响事件的传递了?
谢谢
...全文
675 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyangqingyun 2019-04-17
  • 打赏
  • 举报
回复
确实存在这个BUG,目前官方还没有解决。
我已经解决了,思路就是设置窗体大小往上移动一个像素,这样既保持了全屏的效果,又没有右键菜单弹不出来的烦恼。
//全屏+QWebEngineView控件一起会产生右键菜单无法弹出的BUG,需要上移一个像素
QRect rect = qApp->desktop()->geometry();
rect.setY(-1);
rect.setHeight(rect.height());
this->setGeometry(rect);
Little柯南 2018-01-24
  • 打赏
  • 举报
回复
换5.9.4吧或者5.10也行
熊猫呀 2018-01-22
  • 打赏
  • 举报
回复
研究了下 这个 是 QWebEngineView 这个原因。当我用的是qt5.6 估计是qt 还没有支持好。结贴了
熊猫呀 2018-01-22
  • 打赏
  • 举报
回复
给你看下我的代码 class Mywebview: public QWebEngineView { Q_OBJECT public: explicit Mywebview(QWidget *parent = 0); protected: void contextMenuEvent(QContextMenuEvent *event); void keyPressEvent(QKeyEvent *event); bool event(QEvent *event); private: QMenu * m_meun; QAction * m_action; }; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); m_menu = new QMenu(this); m_closeAction = new QAction(QString("close"),this); connect(m_closeAction,SIGNAL(triggered(bool)),this,SLOT(close())); m_menu->addAction(m_closeAction); m_view = new Mywebview(ui->centralWidget); // m_brower = new QTextBrowser(ui->centralWidget); QHBoxLayout * layout = new QHBoxLayout; layout->addWidget(m_view); // layout->addWidget(m_brower); // layout->setContentsMargins(0,0,0,0); ui->centralWidget->setLayout(layout); } MainWindow w; // w.show(); w.showFullScreen(); 这时候 就无法响应右键菜单了,我在webview 和 mainwindow 都重写了邮件菜单的事件。
Little柯南 2018-01-22
  • 打赏
  • 举报
回复
按照这个试试,看那你的情况: this->setWindowState(Qt::WindowFullScreen);//窗口全屏 我确定,我的这边全屏右键有菜单
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 【运算单元构造实验报告】运算单元是计算机硬件系统中的关键构成部分,主要承担执行算术运算和逻辑运算的任务。在本次实验中,我们着重探讨了带有累加器的运算单元的设计,涵盖了溢出识别、有符号数值与无符号数值运算的差异性,以及采用补码方式进行的加法与减法运算的实现机制。 一、实验目标 1. 掌握运算单元的基本构造,理解带有累加器的运算单元的具体实现途径。 2. 学习并领会溢出检测的机制,能够设计并构建溢出检测电路,用以判定运算结果是否超出了数据类型的表示范畴。 3. 明辨有符号数值和无符号数值运算的不同特性,把握它们在运算过程中各自的处理方法。 4. 熟练掌握基于补码方式的加法与减法运算的执行,理解补码形式下的溢出判定准则。 5. 熟悉运算单元内部的数据传输路线,明晰数据在运算过程中的流转路径。 6. 设计一个能够支持有符号数值与无符号数值运算、补码加法/减法运算以及有符号数值溢出检测的运算单元电路。 二、实验仪器 采用JZYL—Ⅱ型计算机组成原理实验装置,配备2片74181运算单元芯片作为算术逻辑单元(ALU),2片74LS373用作八位D型锁存器,并辅以一些基础门电路和多路选择器来完成电路设计。 三、实验内容 1. 运用片74181构建一个8位运算单元,负责处理数据的高4位与低4位。 2. 设计并实现溢出检测电路,确保在有符号数值与无符号数值的加法运算中均能准确识别溢出状况。 3. 通过74LS373增加累加器功能,使运算结果得以保存。 4. 将所有设计整合,利用多路选择器来支持有符号数值与无符号数值的加法/减法运算。 四、实验电路 1. 8位运算单元由2片74181构成,通过控制...

21,499

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧