第15.11节 PyQt(Python+Qt)入门学习:Qt Designer(设计师)组件Property Editor(属性编辑)界面中主窗口QMainWindow类相关属性详解
概述
主窗口对象是在新建窗口对象时,选择main window类型的模板时创建的窗口对象,如图:

在属性编辑界面中,主窗口对象与QMainWindow相关的属性包括:iconSize、toolButtonStyle、animated、documentMode、tabShape、unifiedTitleAndToolBarOnMac、dockOptions、dockNestingEnabled八个属性。如图:

iconSize属性
主窗口对象的iconSize属性保存的是主窗口中工具栏的图标尺寸,在没有设置时缺省是GUI图形界面样式中定义的工具栏的缺省大小。
注意:这个大小是工具栏图标的最小尺寸。
可以使用iconSize()返回工具栏图标的大小,使用setIconSize(QSize)设置工具栏图标的大小。
animated属性
animated属性用于设置在操作可浮动部件和工具栏时是否设置动画。
当一个可浮动部件或工具栏被拖到主窗口上时,主窗口将调整其内容,以显示浮动部件或工具栏应该放置的位置。设置此属性后主窗口将使用平滑动画移动其内容。清除此属性后,浮动部件拖放时,主窗口内容直接移动到新位置。
默认情况下该属性是设置了的,但如果主窗口包含的部件在调整大小或重新绘制时速度慢,则可能会清除该属性。
设置此属性的作用与使用setDockOptions()设置AnimatedDocks 选项相同。
可以使用isAnimated()查询主窗口是否设置了该属性,可以使用setAnimated(bool)设置该属性。
toolButtonStyle属性
ooButtonStyle属性保存主窗口工具栏按钮的样式设置,用来表示工具栏按钮的文字和图标怎么显示。
该属性的可设置值类型为枚举类型Qt.ToolButtonStyle,它包含如下值:

该属性的缺省值为Qt.ToolButtonIconOnly,可以使用toolButtonStyle() 来访问主窗口该属性的设置,使用setToolButtonStyle(Qt.ToolButtonStyle )来设置此属性。
设置此属性与使用setDockOptions()设置animatedDocks选项相同。
documentMode属性
documentMode属性表示当前主窗口是否启用文档模式,如果是则主窗口的选项卡部件会以适合操作文档的模式呈现,这类似于macOS上的文档模式。
设置此属性时,界面上不会呈现选项卡部件框架。此模式当文档页面覆盖了大部分选项卡部件区域时对于显示文档内容的页面非常有用。
可以通过documentMode()查询主窗口的documentMode属性值,通过setDocumentMode(bool set)可以设置主窗口的documentMode属性。
tabShape属性
tabShape属性用于控制主窗口标签部件(Tab Widget)中的标签的形状,对应类型为QTabWidget.TabShape,有两种取值:
1、QTabWidget.Rounded:对应值为0,表示标签是圆形标签,这是标签的缺省形状,Qt Designer中对应的选项是Rounded。实际上的标签并不是圆形的,只是在右上角是弧形的。如图:

2、QTabWidget.Triangular:对应值为1,表示标签是三角形标签,Qt Designer中对应的选项是Triangular。实际的标签如下图:

个人觉得三角形的更好看些。
可以通过tabShape()获取该属性的值,通过setTabShape(QTabWidget.TabShape s)设置该属性的值。
unifiedTitleAndToolBarOnMac属性
unifiedTitleAndToolBarOnMac 用于确认在mac操作系统上是否使用统一的标题和工具栏外观
有如下几个限制:
1、不支持使用带OpenGl内容的窗口,包括QGLWidget 和 QOpenGLWidget;
2、使用可浮动停靠或可移动的工具栏可能会导致绘制错误,因此不建议使用。
可通过unifiedTitleAndToolBarOnMac() 、setUnifiedTitleAndToolBarOnMac(bool)来查询或设置该属性。
dockOptions属性
dockOptions属性代表主窗口对浮动部件停靠的反应,其类型为枚举类型QMainWindow.DockOptions。相关取值及含义如下:

这些枚举值可以组合使用,仅控制如何在QMainWindow中放下浮动部件。它们不会重新排列浮动部件以符合指定的选项。因此,应该在将任何浮动部件添加到主窗口之前设置这个属性。但AnimatedDocks和VerticalTabs选项除外,这些选项可以随时设置。
缺省值是 AnimatedDocks | AllowTabbedDocks,可以通过dockOptions() 访问该属性,通过setDockOptions(QMainWindow.DockOptions options)设置该属性。
dockNestingEnabled属性
dockNestingEnabled 属性是确认主窗口的浮动部件(dock widget)是否允许嵌套的一个属性。
如果此属性为False,则浮动部件停靠区域只能包含一个浮动部件(水平或垂直)。如果此属性为True,则浮动部件所占的区域可以沿任意方向拆分以包含更多的浮动部件。
浮动部件嵌套并不是一个推荐的行为,因为当部件被拖到主窗口上时,部件嵌套会导致更复杂(且不太直观)的行为。
可以使用isDockNestingEnabled()查询该属性的设置,使用setDockNestingEnabled(bool enabled)来设置该属性。
设置此属性与使用setDockOptions()设置AllowNestedDocks 选项效果相同。
博客地址:https://blog.csdn.net/LaoYuanPython
老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036
第15.11节 PyQt(Python+Qt)入门学习:Qt Designer(设计师)组件Property Editor(属性编辑)界面中主窗口QMainWindow类相关属性详解的更多相关文章
- PyQt(Python+Qt)学习随笔:Qt Designer组件属性编辑界面中对话窗QDialog的modal属性
modal属性表示窗口执行show()操作时是以模态窗口还是非模态窗口形式展示,缺省为False,设置该值与QWidget.windowModality的值设置为 Qt.ApplicationModa ...
- 第15.38节 PyQt(Python+Qt)入门学习:containers容器类部件QDockWidget停靠窗功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QDockWidget类提供了一个可以停靠在QMainWin ...
- 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面的订阅专栏<第十九章.Model/View开发:QTableView的功能及属 ...
- 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解
一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...
- 第15.33节 PyQt(Python+Qt)入门学习:containers容器类部件QTabWidget选项窗部件简介
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...
- 第15.15节 PyQt(Python+Qt)入门学习:Designer的menu菜单、toolBar工具栏和Action动作详解
老猿Python博文目录 老猿Python博客地址 一.引言 Qt Designer中的部件栏并没有菜单.toolBar以及Action相关的部件,仅在MainWindow类型窗口提供了menu.to ...
- Qt入门学习——Qt 5 帮助文档的使用
Qt入门学习——Qt 5 帮助文档的使用 学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必 ...
- 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解
老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...
- 第15.37节 PyQt(Python+Qt)入门学习:containers容器类部件QMdiArea多文档界面部件详解及编程开发案例
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 老猿在前期学习PyQt相关知识时,对每个组件的属性及方法都研 ...
随机推荐
- Node.js 搞Javascript开发的无论如何要尝试一下
我想找个因子给大家介绍Node.js 这样吧,我想Jquery的占有率那么高,就拿Jquery来说吧. https://github.com/jquery/jquery 首先打开Jquery的gith ...
- Elasticsearch(6):文档查询
为方便后续查询演示,我们先创建一个索引.创建索引请求如下:
- xenserver中linux虚拟机修改启动顺序
xenserver是思杰的一款类似于vmware ESXI的虚拟化平台,或者说虚拟化操作系统,上面可以安装许多虚拟机,但是当你装完linux虚拟机,你会发现一个问题,不能像windows vm那样直接 ...
- mysql 数据库存储路径更改
使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...
- Python_字符串处理方法
1.字符串转换 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 1.字符串复制 #s ...
- python 学习代码
1 #-- 寻求帮助: 2 dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表 3 help(obj.func) # 查询obj.func的具体介绍和用法 4 5 #-- ...
- flink1.10版本StreamGraph生成过程分析
1.StreamGraph本质 本质就是按照用程序代码的执行顺序构建出来的用于向执行环境传输的流式图,并且可以支持可视化展示给用户的一种数据结构. 2.StreamGraph.StreamNode和S ...
- [原题复现+审计][0CTF 2016] WEB piapiapia(反序列化、数组绕过)[改变序列化长度,导致反序列化漏洞]
简介 原题复现: 考察知识点:反序列化.数组绕过 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 漏洞学习 数组 ...
- kali 系列学习03 - 主动扫描
主动扫描首先考虑使用代理IP保护自己,其次掌握 Nmap 工具使用 第一部分 扫描对方时,最好隐藏一下自己root@kali:/etc# service tor statusUnit tor.serv ...
- Java的比较器Comparable与Comparator
在Java中有两个比较器:Comparable.Comparator 对于Integer.Double等等类型,可以直接对他们进行比较,因为已经实现了比较的方式,然而在平时常常会面临需要对集合进行排序 ...