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

如何能让QWidget支持鼠标多选?

2
回复
7529
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2015-11-22 15:06:26 显示全部楼层 |阅读模式
1Qter豆
我现在在写一个小东西。模仿一个类似Windows文件夹的鼠标多选功能。使用QWidget来写的。键盘,鼠标点击都模拟出来了。就差一个 鼠标拖出一个矩形窗口。然后自动选择矩形窗口内的所有文件。实现下面这种样子




一开始在
然后CImageView实现paintEvent(); 可以实现,但是鼠标移动到贴图(图片有个CControlImage控件显示图片(相当于一个文件夹)CImageView相当于我的电脑框子)上,
被CControlImage控件给遮住了 也就是说,我画一个矩形出来,矩形的四条边从文件夹底部过去,而非像Windows一样从文件夹顶部过去。

然后到的方案是
在CGrid这个类中实现,鼠标框选,但是不来paintEvent()。。。
然后想自定义一个QHBoxLayout ,自定义后并没有什么卵用。
然后项自定义一个QScrollArea,自定义后并没有什么卵用。
然后自定义QHBoxLayout和QScrollArea,自定义后并没有什么卵用

在CSDN上提问版主说在  鼠标点击时创建一个 QLabel,鼠标松开时delete掉QLabel。。
我使用QStackedLayout 将CImageView放底部,鼠标点击时创建一个 QLabel,并且放入QStackedLayout。。但是我创建出来的却显示不出来。。。。。

这里各种查阅找到一个QItemSelectionModel的类。但是这东西不支持QWidget。。。。。

CImageView 并非继承的QListVie。而是 QWidget 使用了网格布局。。
CControlImage 也是QWidget


我就想问下还有杀死路能够在QWidget上实现鼠标框选。。。
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

建议用模型试图来做。
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2015-11-22 15:06:27 显示全部楼层
建议用模型试图来做。
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2015-11-23 11:37:03 显示全部楼层
yafeilinux 发表于 2015-11-22 20:19
建议用模型试图来做。

是的,我也准备放弃了。
回复

使用道具 举报

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

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