flat属性用于确认按钮边框是否凸起,如果为False则凸起,如果为True则边框与背景是平坦的. 默认值为False,如果设置为True,则除非按下按钮,否则大多数样式都不会绘制按钮背景.通过使用setAutoFillBackground()可用于确保使用 QPalette.Button的画笔填充背景. 可以通过isFlat() .setFlat(bool)来访问或设置该属性. 博客地址:https://blog.csdn.net/LaoYuanPython 老猿Python博客文章目录:ht…
在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)学习随笔:…
一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的accepted.rejected和helpRequested信号>介绍了这些按钮中有部分会产生相同的accepted或rejected信号,有部分不会产生accepted或rejected信号,那么怎么确认点击了按钮只能通过clicked信号. 二.…
一.引言 在Designer中创建的QDialogButtonBox对应的Button,都有指定的ButtonRole,而我们创建自定义的Button加入到QDialogButtonBox中去时,也需要设定该按钮的ButtonRole. 二.ButtonRole之我见 ButtonRole的作用在Qt文档中没有明确说明,老猿分析,ButtonRole主要有如下三个作用: 1.同一种ButtonRole的角色,界面风格相同,同一种ButtonRole的按钮在排列时应该依次连续排列: 2.同一种Bu…
windowIcon对象为部件对象的属性,但只有窗口对象有效,其他派生对象如pushButtong对象无效. 在windowIcon对象上有如下子属性设置: 这几个子属性实际上是QIcon类中继承的.它们的含义如下: 1.Theme(图标主题):图标主题是一组具有相同外观和感觉的图标,从程序员的角度来看,图标主题只是一个映射.给定一组要在其中查找图标的目录和一个主题名称,它将图标名称和标称图标大小映射到图标文件名. 关于图标主题的内容老猿没有弄清楚,猜测可能是图标文件和目录以及大小有套规范,然后…
老猿Python博文目录 老猿Python博客地址 使用了好几个月的Designer,今天才发现属性编辑界面的属性名有的为粗而黑,有的则不是,如图: 稍微测试了一下,发现是对属性值进行过调整,不再是缺省值的值就会变为黑体,哪怕是又改回缺省值都不行. Designer中有个别属性一旦修改,哪怕又改回缺省值,在有些情况下会初始缺省值处理有所不同,特别是代码生成时会有不同的处理,具体是哪个属性老猿忘记了,就是通过该功能实现的. 老猿Python,跟老猿学Python! 博文目录 博客地址…
orientation属性 orientation属性表示QDialogButtonBox的方向,缺省情况下,方向为水平方向(值为Qt.Horizontal),表示QDialogButtonBox中的按钮成水平排列,可以调整为垂直方向(值为Qt.Vertical),表示QDialogButtonBox中的按钮成垂直排列. 可以通过方法orientation().setOrientation(Qt.Orientation orientation)读取和设置该属性. centerButtons属性…
老猿Python博文目录 老猿Python博客地址 frameShape属性是从QFrame继承的属性,对应类型为QFrame.Shape,该属性表示框架样式中的框架形状,有如下取值: 老猿Python,跟老猿学Python! 博文目录 博客地址I…
引言 1.default.atuoDefault属性仅在父窗口为对话窗才生效,其他窗口类型设置这两个属性没有意义: 2.按钮的按压触发除了鼠标键之外,也可以使用回车键和空格键触发,这两个属性正是控制回车键和空格键按下时按钮的响应行为. default属性 此属性确认按钮是否为默认按钮,如果按钮被设置为默认按钮,当按下回车键时,此属性设置为True的按钮(即对话框的默认按钮)将自动被按下.请参考后面的"回车键触发按钮按下"的介绍. default属性的默认值为False,可以通过isDe…
QDialogButtonBox中可以包含多个pushButton,但QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested. 点击这些按钮除了都会产生clicked信号之外,还会可能产生accepted(表示接受对话的内容).rejected(表示拒绝对话的内容).helpRequested(表示寻求帮助)这三个信号. 下面列出这些按钮点击之后,缺省情况下accepted.rejected.helpRequest…
老猿Python博文目录 老猿Python博客地址 frameShadow属性是从QFrame继承的属性,对应类型为QFrame.Shadow,该属性表示框架提供三维效果的阴影类型,有如下取值: 可以通过frameShadow() .setFrameShadow(Shadow)进行属性的访问. 老猿Python,跟老猿学Python! 博文目录 博客地址…
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系>介绍了视图中dragDropMode属性对dragEnabled属性的影响,实际上除了dragDropMode属性对dragEnabled属性有影响之外,对acceptDrops属性也有类似的影响. 经老猿验证测试如下场景: 当dragDropMode设置为DragOnly.DragDrop.Intern…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性>中介绍了dragDropOverwriteMode属性,当时老猿使用并在其中提到了测试发现这个属性的覆盖存在问题,并反复测试也未找到问题的原因,这几天老猿找到了最开始的一个可以覆盖写的测试程序,与不能覆盖写的代码进行了反复比对,最后发现不是视图属性的设置问题,而…
autoFillBackground属性可以确认部件背景是否自动填充,如果自动填充,Qt会在调用Paint事件之前填充部件的背景.使用的颜色由部件调色板中的QPalette.window 角色定义(关于调色板请参考<PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置>). 此外,除非设置了WA_OpaquePaintEvent 或 WA_NoSystemBackground属性,否则窗口始终使用QPalette.Window对应…
老猿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博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖,如果其值为False,则拖拽的数据将作为新项插入.当DropAction对应动作为拷贝时,上述拖放的源数据保持不变,而DropAction对应动作为移动数据时,上述拖放的源数据会被删除. 默认值为False,如子类QListView和QTreeView就是这样.而在QTableView子类中,该属…
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragEnabled没有什么作用,但原因没有弄明白. 今天无意中跟踪一个测试数据时,将dragEnabled属性的值取出来观察了一下,发现原来不是dragEnabled属性不起作用,而是dragDropMode设置时改变了dragEnabled属性的取值,具体来说: 当dragDropMode设置为DragOnly.…
layoutDirection属性保存的是部件的布局方向,有三个取值: 在部件上设置布局方向时,它将传播到部件的子级,但不会传播到作为窗口的子级,也不会传播到已显式调用setLayoutDirection()的子级.此外,为父级调用setLayoutDirection()之后添加的子部件不会继承父级的布局方向. 在Qt Designer中修改了一个部件的布局方向时,所有未单独设置布局方向的子部件的布局方向全部跟随调整,单独设置了不跟随调整. 注意: 1.自qt 4.7以来,此方法不再影响文本布局…
部件(又称为组件或控件)的cursor属性保存该部件的鼠标光标形状,当鼠标位于该部件上时就会呈现该属性设置的光标形状,对应类型为枚举类型Qt.CursorShape,可取值的范围可以在Qt文档官网:https://doc.qt.io/qt-5/qt.html#CursorShape-enum上可以查到,老猿花了4个小时翻译和理解,花半个小时整理了下面的表格.之所以用这么长时间,不简单是一个翻译的问题,在翻译过程中怎么翻译准确便于理解,需要了解部分背景知识.有些还需要进行验证.最终成果如下: 注意…
enabled属性非常简单,最开始老猿没准备介绍该属性的,因为大家都应该知道,但仔细看了看官网文章,觉得还是有些细节可能很少有人注意到,因此还是在此介绍一下. enabled属性用于表示部件是否可用,一个可用的部件可以接收和处理鼠标和键盘事件,当部件不可用时则无法接收和处理鼠标和键盘事件. 有些部件在被禁用时会以不同的方式显示自己.例如,按钮可能会将其标签灰显.如果部件需要知道它何时被启用或禁用,则可以使用changeEvent()方法来捕获事件,事件类型设置为QEvent.EnabledCha…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 QDockWidget的allowedAreas属性用于控制停靠部件在QMainWindow的停靠区域中可停靠的范围,其类型为枚举类型Qt.DockWidgetArea或其值的组合,分别控制可以停靠在主窗口停靠区域的左边(LeftDockWidgetArea).右边(RightDockWidgetArea).顶部(TopDockWidgetArea).底部(Botto…
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博文目录 老猿Python博客地址 一.概述 verticalScrollMode和horizontalScrollMode属性用于控制视图如何在垂直方向和水平方向滚动内容.滚动可以按像素或按项目进行,默认值来自通过此属性控制视图如何水平滚动其内容.滚动可以按像素或按项目进行.其默认值为通过QStyle.SH_ItemView_ScrollMode指定的样式定义的滚动模式. 二.枚举类型QAbstractItemView.ScrollMode verticalScrollMode…
新建了一个窗口部件,在窗口上添加了相关布局,再设置窗口窗口的布局为垂直布局,窗口设计好界面后如图所示: 可以看到窗口是QWidget类,窗口上从上到下有三个布局,窗口自身的布局为垂直布局,布局名为verticalLayout. 此时按F4进入信号和槽函数编辑界面,进行信号和槽函数的连接编辑,可界面上无法出现信号和槽函数的编辑界面,且拖动连接时不能显示完整的连接线,如图黄色荧光笔标记部分: 尝试重启Designer等方法都没有解决,最后想到可能是由于布局部件无法接收信号导致,因此将布局部件四周留白…