老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性>中介绍了dragDropOverwriteMode属性,当时老猿使用并在其中提到了测试发现这个属性的覆盖存在问题,并反复测试也未找到问题的原因,这几天老猿找到了最开始的一个可以覆盖写的测试程序,与不能覆盖写的代码进行了反复比对,最后发现不是视图属性的设置问题,而…
老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖,如果其值为False,则拖拽的数据将作为新项插入.当DropAction对应动作为拷贝时,上述拖放的源数据保持不变,而DropAction对应动作为移动数据时,上述拖放的源数据会被删除. 默认值为False,如子类QListView和QTreeView就是这样.而在QTableView子类中,该属…
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragEnabled没有什么作用,但原因没有弄明白. 今天无意中跟踪一个测试数据时,将dragEnabled属性的值取出来观察了一下,发现原来不是dragEnabled属性不起作用,而是dragDropMode设置时改变了dragEnabled属性的取值,具体来说: 当dragDropMode设置为DragOnly.…
Qt Designer中网格布局(gridLayout)中,layoutRowMinimumHeight和layoutColumnMinimumWidth两个属性分别设置网格布局中各行的最小高度和各列的最小宽带,如图: 但是QGridLayout并没有这两个属性,而从效果上说,这两个属性与rowMinimumHeight和 columnMinimumWidth相似,只是rowMinimumHeight和 columnMinimumWidth相似访问或设置属性时是要指定行或列的.语法如下: 1.c…
Qt Designer中网格布局中,layoutRowStretch和layoutColumnStretch两个属性分别设置网格布局中行之间和列之间的拉伸因子,如图: 但是QGridLayout并没有这两个属性,而从效果上说,这两个属性与rowStretch和columnStretch相似,只是rowStretch和columnStretch访问或设置属性时是要指定行或列的.语法如下: 1.columnStretch(int column)#获取指定列的拉伸因子 2.rowStretch(int…
layoutHorizontalSpacing和layoutVerticalSpacing属性在Qt Designer中是网格布局(gridLayout)和表单布局(formLayout)都有的属性,分别表示布局内部件的水平间距和垂直间距. layoutHorizontalSpacing 布局的水平间距 layoutHorizontalSpacing属性为并排排列的部件之间的间距,如果未显式设置任何值,则布局的水平间距将继承自父布局或父部件的样式设置. 可以通过horizontalSpacing…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 uniformRowHeights属性用于控制视图中所有数据项是否保持相同高度,所有高度都与视图中第一个数据项的高度相同,如果视图中第一个数据项的高度调整,其他数据项的高度都会跟随调整. 默认情况下,此属性为False.可以使用uniformRowHeights().setUniformRowHeights(bool uniform)方法访问和设置此属性. 老猿提醒: uniformRowHeig…
autoRaise属性 autoRaise属性表示toolButton按钮是否自动凸出,类型为布尔类型.默认值为False,可以通过autoRaise().setAutoRaise(bool enable)来读取和设置. 如果 autoRaise为False,则toolButton初始状态为与界面齐平,看起来没有按钮一样,如图: 上图中黄色荧光笔标记部分为一个toolButton,设置autoRaise为True时初始状态看不出来这是个按钮,但当鼠标移动到期范围之内时,按钮会自动凸显.如图: a…
老猿Python博文目录 老猿Python博客地址 一.概述 verticalScrollMode和horizontalScrollMode属性用于控制视图如何在垂直方向和水平方向滚动内容.滚动可以按像素或按项目进行,默认值来自通过此属性控制视图如何水平滚动其内容.滚动可以按像素或按项目进行.其默认值为通过QStyle.SH_ItemView_ScrollMode指定的样式定义的滚动模式. 二.枚举类型QAbstractItemView.ScrollMode verticalScrollMode…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的allColumnsShowFocus属性用于控制是否使视图中的所有列显示键盘焦点,如果此属性为True,则所有列都将显示焦点,否则只有一列将显示焦点. 下图是allColumnsShowFocus为False时的截图: 下图是allColumnsShowFocus为True时的截图: 可以看到allColumnsShowFocus为True时,选中某个数据项时,整行数…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的animated属性用于控制视图在展开或收缩分支时是否展示动画,如果对应值为False,则收缩或展开立即完成,没有动画,否则会将收缩或展示过程展示为一个动画,动画中可以看到收缩时数据滚动消失的过程,展开时看到数据自上向下滚出. 该属性缺省为False,可以通过isAnimated() .setAnimated(bool enable)来访问或设置该属性. 老猿Pytho…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的sortingEnabled属性用于控制视图中的数据是否启用按表头排序, 如果此属性为True,则可以点击表头对树排序:如果该属性为False,则不启用排序.默认值为False. 注意:为了避免性能问题,建议在将项插入树后再启用排序.或者,也可以在将项插入树之前将项插入列表中,再通过列表一次性插入树中. 可以通过isSortingEnabled().setSorting…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的itemsExpandable属性用于控制视图中用户是否可以通过操作展开或折叠,缺省值为True,可以通过itemsExpandable() .setItemsExpandable(bool enable)来访问或设置该属性. 老猿提醒: 经老猿验证测试,如果该属性被设置为False,此时无论dragDropMode.acceptDrops为何值,视图中不支持拖放的放下…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的indentation属性用于控制视图中每级数据项之间的缩进,对于顶级项,缩进指定从视口边缘到第一列中的项的水平距离:对于子项,缩进指定从其父项到该项的水平距离. 下图中蓝色标记的虚线部分即为缩进的距离: 默认情况下,此属性的值依赖于样式.因此,当样式更改时,此属性将随之更新.但当 调用setIndentation()后这种更新将停止,调用resetIndentatio…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的expandsOnDoubleClick属性用于控制鼠标双击是否展开或折叠分支下的子项. 缺省值为True,即鼠标双击会执行折叠或展开点击分支的操作,可以调用expandsOnDoubleClick() .setExpandsOnDoubleClick(bool enable)访问或设置该属性. 注意:在expandsOnDoubleClick为True的情况下,如果分…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.属性说明 QTreeView树形视图的rootIsDecorated属性用于控制是否展示对顶层项的折叠或展开的控制符,如果为True就展示,否则就不展示,当不展示也没有展开这些节点的时候,顶层的项看起来就象一个简单的列表,虽然没有展示可以折叠或展开的符合,这些节点其实还是可以正常展开或折叠. 二.案例截图 下图是没有展示控制符的情况: 下图是展示了控制符的情况: 三.属性访问方法 使用root…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的autoExpandDelay属性用于控制在视图中拖拽时,当鼠标停留在一个可以展开节点达到该属性对应的延迟时间后自动展开或折叠该节点. autoExpandDelay保存用户在节点自动打开或关闭之前必须等待该节点的时间(毫秒).如果设置为小于0,则拖拽停留时不会对节点进行操作,否则根据节点当前是展开还是折叠来进行反向的折叠和展开操作,类似于鼠标点击该节点一次. auto…
老猿Python博文目录 老猿Python博客地址 QAbstractItemView的autoScroll属性用于确认鼠标在视口边缘时是否自动滚动内容,默认值为True,autoScrollMargin属性用于确认视口边缘的范围,默认值为16. 由于默认情况下视口和窗口范围相同,因此这两个属性也是确认鼠标在QAbstractItemView派生类对象的数据展示窗口的autoScrollMargin确认的边缘范围内时是否自动向对应方向滚动以展示更多的内容. 这两个属性可以通过hasAutoScr…
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系>介绍了视图中dragDropMode属性对dragEnabled属性的影响,实际上除了dragDropMode属性对dragEnabled属性有影响之外,对acceptDrops属性也有类似的影响. 经老猿验证测试如下场景: 当dragDropMode设置为DragOnly.DragDrop.Intern…
老猿Python博文目录 老猿Python博客地址 dragEnabled属性用于控制视图是否支持拖拽,可以通过dragEnabled().setDragEnabled(bool enable)进行属性访问和设置. dragEnabled属性很简单,但老猿采用QListView和QTableView反复验证后,发现该属性实际上没有什么作用,在View内是否能拖放是由dragDropMode属性来控制的,如dragEnabled为False,dragDropMode为DragDrop,在view内…
autoFillBackground属性可以确认部件背景是否自动填充,如果自动填充,Qt会在调用Paint事件之前填充部件的背景.使用的颜色由部件调色板中的QPalette.window 角色定义(关于调色板请参考<PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置>). 此外,除非设置了WA_OpaquePaintEvent 或 WA_NoSystemBackground属性,否则窗口始终使用QPalette.Window对应…
accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt Designer中部件与国际化有关的设置translatable. disambiguation和comment含义>),这2个属性都必须进行本地化语言处理. accessibleName 这是辅助阅读中显示的部件的名称,对于大多数小部件,无需设置此属性,因为Qt会调用部件相关属性显示,如按钮将显示按钮的…
toolTip属性 toolTip属性设置部件的toolTip提示信息,toolTip提示信息在鼠标放到控件上会浮动出一个小框显示提示信息.默认情况下,仅显示活动窗口子部件的toolTip,可以通过在窗口对象设置Qt.WA_AlwaysShowToolTips属性来改变,但不能是需要显示tooTip的部件对象中设置. 如果要控制tooTip显示的行为(如控制显示位置),可以重写部件的event()方法捕获事件类型为QEvent.ToolTip的事件. 缺省值为空,可以通过toolTip()和se…
windowFilePath属性仅对窗口对象有效,用于关联一个窗口和对应的文件及路径. 当窗口没有设置标题属性的情况下,则窗口标题展示展示windowFilePath对应的文件名的信息(路径信息不展示),如果二者都设置,则优先使用窗口标题属性的设置作为标题. 该属性缺省为空,可以通过windowFilePath()和setWindowFilePath(QString )来访问和设置windowFilePath属性. 这个功能在窗口打开文件进行操作时可以使用来标记打开的文件. 注意该属性有国际化设…
shortcut 属性保存与按钮关联的快捷键.可以使用shortcut()和setShortcut(QKeySequence)访问和设置该属性. 关于这个属性官网介绍的不多,经老猿实际验证,它与text属性通过'&'符号设置的快捷键(请参考<PyQt(Python+Qt)学习随笔:Qt Designer中QAbstractButton派生按钮部件的text属性>)有如下区别: 1.在该属性设置的情况下,text属性的快捷键不起作用: 2.text属性的快捷键只支持一个字符,而这个可以设…
icon属性 icon属性保存按钮上展示的图标,图标的缺省大小由图形界面的样式决定,但可以通过 iconSize 属性进行调整. 图标的几种子属性状态的含义与QWidget的windowIcon属性相同,可以参考<PyQt(Python+Qt)学习随笔:Qt Designer中部件的windowIcon属性>的介绍. 通过icon()可以访问icon属性的值,通过setIcon( QIcon )设置icon属性的值. iconSize属性 iconSize属性保存按钮图标的大小,这个大小是图标…
在两种Spacer部件中都有sizeHint属性,在<PyQt(Python+Qt)学习随笔:Qt Designer中部件的三个属性sizeHint缺省尺寸.minimumSizeHint建议最小尺寸和minimumSize最小尺寸>中我们说sizeHint为布局管理器中部件的缺省大小,该值是Qt中对每个部件大小的建议值,也是缺省值,不能修改,但在Spacer部件中是可以修改的,这是因为Spacer部件不是从QWidget类派生的部件,这里的sizeHint也并不简单是缺省大小,是可以指定的.…
在Qt Designer中,可以在界面中使用QDialogButtonBox来配置一组按钮进行操作,Qt中为QDialogButtonBox定义了一组常用的标准按钮,可以在Designer中直接在StandardButtons属性中指定使用,配置界面如图: StandardButtons标准按钮属性与枚举类型QDialogButtonBox.StandardButton类型相对应,具体取值及含义如下: 其中的按钮角色ButtonRole的含义及用途请参考<PyQt(Python+Qt)学习随笔:…
在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButtons标准按钮>. 这些标准按钮的显示文字Qt已经缺省内置了,如果要改变这些文字,可以通过按钮的setText方法,但在改变前需要通过button方法找到需要修改的按钮. 案例 在Qt Designer中定义了一个名为buttonBox的QDialogButtonBox,在其下选择定义了所有标准按钮,如图:…
在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButtons标准按钮>. 除了标准按钮,QDialogButtonBox允许增加自定义按钮.如果要在标准按钮之外增加自定义按钮,可以使用addButton方法. 案例 在Qt Designer中定义了一个名为buttonBox的QDialogButtonBox,在其下选择定义了所有标准按钮,如图: 该界面生成代码…