PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响
在《PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系》介绍了视图中dragDropMode属性对dragEnabled属性的影响,实际上除了dragDropMode属性对dragEnabled属性有影响之外,对acceptDrops属性也有类似的影响。
经老猿验证测试如下场景:
- 当dragDropMode设置为DragOnly、DragDrop、InternalMove时,会自动将视图dragEnabled设置为True
- 当dragDropMode设置为DropOnly、NoDragDrop时,会自动将dragEnabled设置为False
- 当修改dragEnabled值时,对dragDropMode属性没有影响,但是需要视图支持拖拽,这两个属性都必须支持拖拽,如果一个不支持,则视图无法拖拽
- 当dragDropMode设置为DropOnly、DragDrop、InternalMove时,会自动将视图的acceptDrops属性、以及视图视口的acceptDrops设置为True
- 当dragDropMode设置为DragOnly、NoDragDrop时,会自动将视图的acceptDrops属性、以及视图视口的acceptDrops设置为False
- 当视图的acceptDrops设置为False时,视图视口的acceptDrops同时设置为设置为False,dragDropMode属性如果支持放下,则会将放下去除,如dragDropMode原来为DragDrop,则变为了DragOnly,运行时视图内不能拖放
- 当视图的acceptDrops设置为True时,视图视口的acceptDrops同时设置为设置为True,dragDropMode属性如果不支持放下,则会改为支持放下,如dragDropMode原来为DragOnly,则变为了DragDrop,运行时视图内可以拖放
- 当视图对应视口的acceptDrops设置为False时,视图的acceptDrops属性和dragDropMode属性保持不变,但视图中的拖拽数据只能拖动无法放下
- 当视图对应视口的acceptDrops设置为True时,视图的acceptDrops属性和dragDropMode属性保持不变,但不论视图原来相关属性是否支持拖拽数据放下,视图中的拖拽数据都能放下
从上述场景综合来看,视图中的dragDropMode、dragEnabled和acceptDrops属性相互关系如下:
- 视图中的dragDropMode属性、acceptDrops属性 相互之间都会互相影响,最终效果受这些属性设置语句的执行先后影响,后执行的影响先执行
- 视图中的dragDropMode属性 对dragEnabled是单向影响,即dragDropMode设置值时会根据情况改变dragEnabled的值,但反过来不行,不过最终是否允许拖拽需要这两个属性都支持拖拽才行
- 视图对应视口的acceptDrops属性值改变不会影响视图的dragDropMode、和acceptDrops属性,但视图中如果要支持拖放,需要这三个属性都支持拖放才可
关于视图视口,实际上就是视图中数据可见部分的窗体,所有需要展示的数据都需要滚动到视口才可见。可以通过视图的viewport()方法访问。关于视口更多的说明请参考《PyQt(Python+Qt)学习随笔:QAbstractScrollArea的viewPort(视口)理解》

老猿Python,跟老猿学Python!
PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响的更多相关文章
- PyQt(Python+Qt)学习随笔: QAbstractItemView的dragDropMode属性
老猿Python博文目录 老猿Python博客地址 一.概述 dragDropMode属性用于控制视图拖放事件的处理方式,其类型为枚举类型DragDropMode. 二.枚举类型DragDropMod ...
- PyQt(Python+Qt)学习随笔:布局控件layout的LeftMargin等contentsMargins属性
在Qt Designer中布局控件有4个,分别是Vertical Layout(垂直布局).Horizontal Layout(水平布局).Grid Layout(网格布局).Form Layout( ...
- PyQt(Python+Qt)学习随笔:视图中的拖放操作注意事项
老猿Python博文目录 老猿Python博客地址 在通过PyQt构建的图形界面中进行拖放,要成功进行拖放需要注意: 视图相关属性需要支持拖放,具体相关属性请参考<PyQt(Python+Qt) ...
- PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑
老猿Python博文目录 老猿Python博客地址 dragEnabled属性用于控制视图是否支持拖拽,可以通过dragEnabled().setDragEnabled(bool enable)进行属 ...
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性
老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的autoFillBackground属性
autoFillBackground属性可以确认部件背景是否自动填充,如果自动填充,Qt会在调用Paint事件之前填充部件的背景.使用的颜色由部件调色板中的QPalette.window 角色定义(关 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性
accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的toolTip、toolTipDuration、statusTip、whatsThis属性
toolTip属性 toolTip属性设置部件的toolTip提示信息,toolTip提示信息在鼠标放到控件上会浮动出一个小框显示提示信息.默认情况下,仅显示活动窗口子部件的toolTip,可以通过在 ...
随机推荐
- springboot-rabbitmq之hello-world(一)
概念介绍 这里引用rabbit官网的一张图 image.png 大概意思就是生产着把消息发送到队列然后消费者消费消息 springboot实现 hello-world比较简单这里直接上代码 生产者 声 ...
- html中创建并调用vue组件的几种方法
最近在写项目的时候,总是遇到在html中使用vue.js的情况,且页面逻辑较多,之前的项目经验都是使用脚手架等已有的项目架构,使用.vue文件完成组价注册,及组件之间的调用,还没有过在html中创建组 ...
- linux中几个文本文件查看命令
Linux中,常用的文本文件查看命令介绍如下: 1. cat 用法: cat [options] filename options: -A: 显示全部. -E: 在每一行的后面加上"$&qu ...
- 调整PG分多次调整和一次到位的迁移差别分析
前言 这个问题来源于我们研发的一个问题,在进行pg调整的时候,是一次调整到位好,还是分多次调整比较好,分多次调整的时候会不会出现某个pg反复挪动的问题,造成整体迁移量大于一次调整的 最近自己的项目上也 ...
- SpringAop切面实现日志记录
SpringAop切面实现日志记录代码实现:https://www.cnblogs.com/wenjunwei/p/9639909.html 问题记录 1.signature.getMethod(). ...
- 练习启动各种浏览器的同时加载插件:Firefox, Chrome, IE
# -*- coding:utf-8 -*-import osimport seleniumfrom selenium import webdriverfrom selenium.webdriver. ...
- [C/C++]详解结构体
引子 设计程序时,最重要的步骤之一就是选择表示数据的方法.在许多情况下,简单变量甚至是数组还不够.为此,C提供了结构变量(structure variable)提高表示数据的能力,它能够创造新的形式. ...
- Java8 方法引用和构造方法引用
如果不熟悉Java8新特性的小伙伴,初次看到函数式接口写出的代码可能会是一种懵逼的状态,我是谁,我在哪,我可能学了假的Java,(・∀・(・∀・(・∀・*),但是语言都是在进步的,就好比面向对象的语言 ...
- FTP漏洞利用复现
目录 FTP弱口令漏洞 FTP后门漏洞利用 FTP弱口令漏洞 漏洞描述 FTP弱口令或匿名登录漏洞,一般指使用FTP的用户启用了匿名登录功能,或系统口令的长度太短.复杂度不够.仅包含数字.或仅包含字母 ...
- 总结MathType中输入小于号的方法
作为一款专业的公式编辑软件,MathType可谓是非常强大,先不说其编辑公式是多么的方便.迅速,但就打开软件界面,看到不可估算的数学符号有那么多,你就会感叹它的强大,竟然能把绝大部分的数学符号都汇聚于 ...