首页 > 其他分享 >Qt从QWidget继承实现自定义控件,显示之后不响应鼠标点击,但可以响应Tab按键

Qt从QWidget继承实现自定义控件,显示之后不响应鼠标点击,但可以响应Tab按键

时间:2022-09-20 15:37:42浏览次数:71  
标签:控件 鼠标 自定义 响应 customWidget CCustomWidget mainwindow

1、自定义类ccustomwidget.h

2、自定义类ccustomwidget.cpp

3、ccustomwidget.ui

4、mainwindow.h

5、mainwindow.cpp

 

6、显示效果(checkBox可以显示鼠标点击,但CCustomWidget的两个编辑框以及PushButton不响应鼠标点击)

 

解决方案:

  将customWidget.show()改为 customWidget.raise();

原因分析:

   由于customWidget是mainwindow的内嵌对象,因此customWidget构造函数优先调用,然后mainwindow构造函数调用,customWidget对象可能放在了mainwindow窗口的底部,无法响应鼠标操作,因此需要raise()将其提升到顶部,就可以响应鼠标事件了。

其它解决方案:(在主窗口构造函数中从堆上构造CCustomWidget,使之晚于主窗口界面的构造,便放到了窗口的顶部)

  在主窗口的头文件中使用CCustomWidget* pCustomWdiget; 

  在主窗口的构造函数中 pCustomWidget = new CCustomWidget(this);  pCustomWidget->show();

最佳解决方案:

  在CCustomWidget类的实现文件中,获取QShowEvent,然后调用this->raise();

 

标签:控件,鼠标,自定义,响应,customWidget,CCustomWidget,mainwindow
From: https://www.cnblogs.com/lucien-zhang/p/16711005.html

相关文章

  • FullCalendar日程管理控件(二)
    1css#calendar{max-width:1100px;margin:20pxauto;}.fc-license-message{display:none;}......
  • spring boot 自定义 yml 配置需要用到的注解
    importlombok.Data;importorg.springframework.boot.context.properties.ConfigurationProperties;importorg.springframework.context.annotation.Configuration;......
  • Winform自定义窗体标题栏样式
    最近在编写C/S结构应用程序时,感觉窗体的标题栏样式太死板了,标题文字不能更改大小、颜色、字体等,按钮不能隐藏等问题,在网上也查找了许多相关的资料,没有找到合适的解决方案,......
  • Vue添加页面水印(自定义指令)
    Vue.directive('watermark',(el,binding)=>{lettext=binding.value.text;letfont=binding.value.font||"16pxMicrosoftJhengHei";lettextColor......
  • 修改WebBrowser控件的内核解决方案
    首先说一下原理当下很大浏览器他们都是用了IE的core,这个core只提供HTML/JS的执行和渲染,并没有给出关于界面和一些特性上的事,所以开发自己浏览器如果基于IEcore需要自己......
  • Delphi WebBrowser控件的使用中出现的bug
     1、WebBrowser.Visible=false;Visible属性不能使WebBrowser控件不可见,暂时用 WebBrowser.Hide的方法代替,WebBrowser.Hide隐藏浏览器, WebBrowser.Show显示浏览器;   ......
  • Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决
    最近用EmbeddedWB控件做浏览器相关应用的时候,发现有些网页只要一打开就一定会蹦出一个“Invalidfloatingpointoperation”异常(关掉异常对话框以后,浏览器无响应),而程序仅......
  • Delphi WebBrowser控件
    WebBrowser控件属性:1、Application如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,程序将返回WebB......
  • Java自定义类创建对象数组并赋值
    以下代码执行会报错。出错代码:publicclassTest{publicstaticvoidmain(String[]args){Person[]P1=newPerson[2];P1[0].setAge(20);......
  • curl命令查看请求响应时间
    curl-o/dev/null-s-w%{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}www.baidu.com0.005::0.005::0.006::0.006:......