找回密码
 立即注册
收起左侧

事件过滤器问题

5
回复
10353
查看
[复制链接]
累计签到:3 天
连续签到:1 天
来源: 2018-12-24 16:00:30 显示全部楼层 |阅读模式
1Qter豆
给每个按钮安装事件过滤器后,运行后按钮消失,同样的代码在类似的另一个程序中却运行正常?

回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2018-12-25 09:43:01 显示全部楼层
所以呢,你想说什么 ?
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2018-12-25 14:32:45 显示全部楼层
Since 发表于 2018-12-25 09:43
所以呢,你想说什么 ?

所以为什么按钮都消失了啊??
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2018-12-25 18:06:31 显示全部楼层
本帖最后由 Since 于 2018-12-25 18:08 编辑

你还是上代码吧,这样简单的说,我没办法找到问题
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2018-12-25 22:43:47 显示全部楼层
Since 发表于 2018-12-25 18:06
你还是上代码吧,这样简单的说,我没办法找到问题


        if(target==ui->pb_work){
            if(e->type()==QEvent::MouseButtonPress){
                char sendMessage2[] = "<set><var>.Key_WorkClamp</var><val>1</val></set>\n";
                sock->write(sendMessage2);
                sock->flush();
                readServer1();
            }
            if(e->type()==QEvent::MouseButtonRelease){
                char sendMessage2[] = "<set><var>.Key_WorkClamp</var><val>0</val></set>\n";
                sock->write(sendMessage2);
                sock->flush();
                readServer1();
            }
因为按钮较多,代码都是重复的,所以只贴了这部分,也ui->pb_work->installEventFilter(this);代码运行没有问题,但是界面里这个按钮看不见形状,但是在按钮大概的位置上点击的话,我用于检测的qDebug()是由输出的,也就是说功能可以实现,但是按钮不见了,我试过不ui->pb_work->installEventFilter(this),按钮就由出现了。
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2018-12-26 09:37:12 显示全部楼层
看不见形状,但是可以点击和使用,这种情况可能是由于 QPushButton 的 flat 属性设置为 true 导致的,这会使 按钮失去边框,但是文字还是可见的,你说的加过滤器会影响显示,我真没见过,理论上不应该  ~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了