QTableWidget界面有数据之后鼠标点击无响应界面无响应

Stella981
• 阅读 650

1.问题:QTableWidget上出现数据之后,界面无响应,鼠标点击没有响应,但是还是可以正常接收数据,连关闭按钮都无法关闭,必须通过杀死进程来关闭程序。有的电脑是无响应,有的电脑又可以。

2.分析:界面无响应的原因:

(1)程序崩溃卡死,点击会无响应,但是数据还在正常接收,说明不是,排除

(2)界面上出现了模态对话框,只有关闭了模态对话框,才可以点击其他界面。而且程序能正常执行。只是界面无法响应。

3.排查步骤

查看数据显示中出现的窗口,特别是自定义的窗口。我在QTableWidget添加数据,operation一栏是自定义的一个widget类,class QTriggerResourceWnd : public QWidget。然后调用setCellWidget函数添加自定义的窗口widget。

QTriggerResourceWnd * pTrgger = new QTriggerResourceWnd();

ui.tableWidget->setCellWidget(step, 8, pTrgger);

QTableWidget界面有数据之后鼠标点击无响应界面无响应

通过注释掉这一行ui.tableWidget->setCellWidget(step, 8, pTrgger);  可以正常响应,说明QTriggerResourceWnd 是模态对话框。

所以讲构造函数中添加一行代码设置为非模态:setWindowModality(Qt::NonModal);

4.结论:由于系统环境的原因,有的电脑默认Qwidget为模态对话框,有的默认Qwidget为非模态对话框,所以最好在代码中设置setWindowModality(Qt::NonModal);将窗口强制设置为非模态,这样在不同的系统环境中都会以非模态窗口显示,不会出现界面无响应的情况。

自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

https://www.cnblogs.com/bclshuai/p/11380657.html

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
2年前
tornadofx响应鼠标点击事件
!(https://oscimg.oschina.net/oscnet/603d45e5725405eab02f29cfd107cf427b1.jpg)importjavafx.application.Applicationimportjavafx.beans.property.SimpleStringProperty
简
3年前
彻底理解安卓应用无响应机制
引言不论从事安卓应用开发,还是安卓系统研发,应该都遇到应用无响应(ANR,ApplicationNotResponding)问题,当应用程序一段时间无法及时响应,则会弹出ANR对话框,让用户选择继续等待,还是强制关闭。绝大多数人对ANR的了解仅停留在主线程耗时或CPU繁忙会导致ANR。面试过无数的候选人,几乎没有人能真正从系统级去梳理清晰ANR的
Stella981 Stella981
2年前
Android ANR全解析&华为AGC性能管理解决ANR案例集
1、ANR介绍1.1ANR是什么ANR,全称为ApplicationNotResponding,也就是应用程序无响应。如果Android应用的界面线程处于阻塞状态的时间过长,就会触发“应用无响应”(ANR)的错误。此时系统会向用户显示一个对话框,ANR对话框会为用户提供强行退出应用的选项。!在这里插入图
Stella981 Stella981
2年前
IE9 console.log兼容性问题
问题描述昨天测试开始测试IE9兼容问题,突然提出很多 偶尔点击某个按钮无响应的bug。排查思路本来初步怀疑是IE9判定两次请求为重复请求 故不走网络导致的。但是经过排查实验 加上timestamp时间戳还是偶尔出现这样的bug。因此不得不在页面初步添加alert弹窗,方便监听到底哪一步出现了问题。最后发现alert走到
Stella981 Stella981
2年前
Django_初识
HTTP协议超文本传输协议(应用层的,基于tcp\ip协议的)特点:无状态,无连接(短连接)请求消息格式:请求行\请求头部\空行\请求数据请求行:GET路径HTTP/1.1响应消息格式:响应行\响应头部\空行\响应数据响应行:HTTP/1.1状态码状态
Stella981 Stella981
2年前
ExtJS表单提交时,不用鼠标点击按钮提交,直接通过回车键提交
用ExtJs实现登陆界面,输入用户名和密码,点击确定后登陆。然而人们习惯于在输入两者后按回车键进行登陆。在extjs中,Button本身是支持回车事件的,前提是:焦点在按钮上,此时回车和单击事件是一回事。form中的field事件中有specilkey事件,可以响应回车键。在输入用户名,或者密码后点击"回车",让field响应回车事件,然后通过form提
Stella981 Stella981
2年前
Redis使用不当导致应用卡死
!(https://oscimg.oschina.net/oscnet/57fff64623737424f464c1bdd3f9778b651.jpg)作者:小木来源:http://rrd.me/ezfTj首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象刚开始当测试抱怨环境响应慢