老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.sortChildren对子项排序 树型部件QTreeWidget中的QTreeWidgetItem项,可以调用sortChildren对项的下层子项按指定列的文本进行排序,调用语法: sortChildren(int column, Qt.SortOrder order) Qt.SortOrder为枚举类,有两个常量值,分别为:AscendingOrder升序,对应数值为0,Descendi…
老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖,如果其值为False,则拖拽的数据将作为新项插入.当DropAction对应动作为拷贝时,上述拖放的源数据保持不变,而DropAction对应动作为移动数据时,上述拖放的源数据会被删除. 默认值为False,如子类QListView和QTreeView就是这样.而在QTableView子类中,该属…
老猿Python博文目录 老猿Python博客地址 在通过PyQt构建的图形界面中进行拖放,要成功进行拖放需要注意: 视图相关属性需要支持拖放,具体相关属性请参考<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>和<PyQt(Python+Qt)学习随笔: QAbstractItemView的dragDropMode属性> 老猿使用TableView和ListView验证,视图中提供的拖放动作是通过鼠标左键按下触发,但当…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<PyQt(Python+Qt)学习随笔:QWidget部件的palette属性以及ColorGroup.colorRole的用途和含义>和<PyQt(Python+Qt)学习随笔:使用QColorDialog.getColor交互设置部件的颜色>介绍了QWidget部件的palette属性.以及在应用中请用户确认颜色的方法.一般情况下,我们对部件的颜…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性>中介绍了dragDropOverwriteMode属性,当时老猿使用并在其中提到了测试发现这个属性的覆盖存在问题,并反复测试也未找到问题的原因,这几天老猿找到了最开始的一个可以覆盖写的测试程序,与不能覆盖写的代码进行了反复比对,最后发现不是视图属性的设置问题,而…
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系>介绍了视图中dragDropMode属性对dragEnabled属性的影响,实际上除了dragDropMode属性对dragEnabled属性有影响之外,对acceptDrops属性也有类似的影响. 经老猿验证测试如下场景: 当dragDropMode设置为DragOnly.DragDrop.Intern…
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragEnabled没有什么作用,但原因没有弄明白. 今天无意中跟踪一个测试数据时,将dragEnabled属性的值取出来观察了一下,发现原来不是dragEnabled属性不起作用,而是dragDropMode设置时改变了dragEnabled属性的取值,具体来说: 当dragDropMode设置为DragOnly.…
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…
在Qt Designer中的每个部件,除了设置部件的位置(geometry)之外,还可以指定部件的大小策略sizePolicy.部件的sizePolicy用于说明部件在布局管理中的缩放方式,当部件没有在布局管理器中时,该设置无效. 在理解sizePolicy前,建议参考<PyQt(Python+Qt)学习随笔:Qt Designer中部件的三个属性sizeHint缺省尺寸.minimumSizeHint建议最小尺寸和minimumSize最小尺寸>先理解部件的缺省大小.建议最小尺寸.最小大小三…
老猿Python博文目录 老猿Python博客地址 dragEnabled属性用于控制视图是否支持拖拽,可以通过dragEnabled().setDragEnabled(bool enable)进行属性访问和设置. dragEnabled属性很简单,但老猿采用QListView和QTableView反复验证后,发现该属性实际上没有什么作用,在View内是否能拖放是由dragDropMode属性来控制的,如dragEnabled为False,dragDropMode为DragDrop,在view内…
老猿Python博文目录 老猿Python博客地址 一.概述 selectionMode属性用于控制view中操作选择数据项的模式,用于控制用户是否可以选择一个或多个数据项,以及在多个数据项选择中,选择是否必须是一个连续的范围. 二.QAbstractItemView.SelectionMode取值含义 selectionMode属性的类型为枚举类型枚举类型 QAbstractItemView.SelectionMode,对应取值及含义如下: 以上取值中,常用值为SingleSelection…
老猿Python博文目录 老猿Python博客地址 Qt Designer中QAbstractScrollArea包括三个属性,分别是horizontalScrollBarPolicy.verticalScrollBarPolicy 和sizeAdjustPolicy. horizontalScrollBarPolicy.verticalScrollBarPolicy 这两个属性是用于控制QAbstractScrollArea滚动条出现机制的,其类型为枚举类型Qt.ScrollBarPolicy…
在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,在其下选择定义了所有标准按钮,如图: 该界面生成代码…
一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的accepted.rejected和helpRequested信号>介绍了这些按钮中有部分会产生相同的accepted或rejected信号,有部分不会产生accepted或rejected信号,那么怎么确认点击了按钮只能通过clicked信号. 在&…
在Qt Designer中,可以在界面中使用QDialogButtonBox来配置一组按钮进行操作,Qt中为QDialogButtonBox定义了一组常用的标准按钮,可以在Designer中直接在StandardButtons属性中指定使用,配置界面如图: StandardButtons标准按钮属性与枚举类型QDialogButtonBox.StandardButton类型相对应,具体取值及含义如下: 其中的按钮角色ButtonRole的含义及用途请参考<PyQt(Python+Qt)学习随笔:…
windowFilePath属性仅对窗口对象有效,用于关联一个窗口和对应的文件及路径. 当窗口没有设置标题属性的情况下,则窗口标题展示展示windowFilePath对应的文件名的信息(路径信息不展示),如果二者都设置,则优先使用窗口标题属性的设置作为标题. 该属性缺省为空,可以通过windowFilePath()和setWindowFilePath(QString )来访问和设置windowFilePath属性. 这个功能在窗口打开文件进行操作时可以使用来标记打开的文件. 注意该属性有国际化设…
在<PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性>中介绍layout的layoutSizeConstraint属性后,反复测试发现如下的应用窗口: 再怎么设置布局控件的layoutSizeConstraint的值,所有部件都可以跟随无限放大,而最小可以缩小到如下: 感觉这个参数不起作用,后经反复测试,发现这个参数只对窗口的布局起作用.在通过窗口中点击鼠标右键->Lay out选择布局方式来设置布局: 设置后在窗口的属性设置部分…
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属性保存按钮图标的大小,这个大小是图标…
一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的accepted.rejected和helpRequested信号>介绍了这些按钮中有部分会产生相同的accepted或rejected信号,有部分不会产生accepted或rejected信号,那么怎么确认点击了按钮只能通过clicked信号. 二.…
在Qt Designer中,如果创建的窗口为主窗口QMainWindow类型,可以通过<PyQt(Python+Qt)学习随笔:Qt Designer中怎么给toolBar添加按钮 >介绍的方法现toolBar中的按钮和Action进行关联. 如果我们在界面上增加了一个toolButton按钮,也可以与Action进行关联,只是这种关联不能通过Designer进行,必须通过代码来实现,代码调用方法如下: toolButton.setDefaultAction(action). 一般这个方法放在…
在两种Spacer部件中都有sizeHint属性,在<PyQt(Python+Qt)学习随笔:Qt Designer中部件的三个属性sizeHint缺省尺寸.minimumSizeHint建议最小尺寸和minimumSize最小尺寸>中我们说sizeHint为布局管理器中部件的缺省大小,该值是Qt中对每个部件大小的建议值,也是缺省值,不能修改,但在Spacer部件中是可以修改的,这是因为Spacer部件不是从QWidget类派生的部件,这里的sizeHint也并不简单是缺省大小,是可以指定的.…
一.引言 Qt Designer的表单布局(formLayout)中,layoutFormAlignment 用于控制表单布局中所有子部件在布局框内的对齐方式(与layoutLabelAlignment类似,也包括垂直和水平方向两个方向).如图: 此属性实际对应的是QFormLayout的formAlignment 属性,缺省值取决于部件或应用程序样式.对于 QMacStyle样式,缺省值是Qt.AlignHCenter | Qt.AlignTop,其他样式默认值都是 Qt.AlignLeft…
在按照<第15.6节 PyQt5安装与配置>完成PyQt5及PyQt5-tools的安装后,发现Qt Designer中的帮助不能使用,报错: 按照<PyQt学习随笔:Qt Designer调用帮助时报错找不到assistant.exe文件的解决办法>采用一个笨办法解决(至今老猿也没找到该问题的最终解决办法).经验证测试,其实最终需要拷贝的目录是platforms.sqldrivers这两个,其他文件和目录无需重复复制. 经过这样处理后,虽然在Qt Designer中可以调出ass…
最近做了几次测试,在PyQt中如果使用与槽函数同名的实例方法可能会导致不可控的错误. 案例1:如果两个信号映射到同名的槽函数,虽然参数不一样,但真正响应的槽函数是最后定义的槽函数,具体案例请见<PyQt(Python+Qt)学习随笔:clicked和clicked(bool)信号连接同名函数出现的问题> 案例2:在一个槽函数中定义了一个与槽函数同名但参数多了几个的实例方法,结果在跟踪程序时发现信号发送后,槽函数根本没响应,程序在Pycharm中报"Process finished w…
老猿Python博文目录 老猿Python博客地址 在学习Designer中ItemViews类部件时,这些部件都有个父类QAbstractScrollArea,该父类是Qt滚动区域的低级抽象.该区域提供一个称为viewport的中心小部件,在该小部件中滚动区域的内容可以被滚动展现对应内容,即要展现内容的可见部分在viewport中呈现. 老猿以前没有研究过绘图相关的内容,对viewport感到很困惑,经查阅资料,老猿理解: 1.QAbstractScrollArea本身都带有viewPort,…
菜单由menu bar菜单栏和menu菜单两部分构成,分别对应类QMenuBar和QMenu. menuBar是包含一系列下拉菜单项组成,menu包含两种,一种是直接对应Action的,一种是父菜单,下面的子菜单对应Action,在此称对应了Action的菜单为菜单项(这个称呼可能与菜单项的标准说法不一致). 1.菜单栏及菜单的界面定义操作 在Qt Designer中,如果主窗口无菜单通过在主窗口中鼠标右键的弹出菜单可以给主窗口创建菜单栏,如图: 如果已经创建菜单栏,通过鼠标右键点击菜单条的弹出…