pyside中的主窗口及菜单栏
qingheluo2024-10-30清河洛391
QMainWindow,包含默认布局的主窗口在实际开发中,一般会首先创建一个主窗口用于“盛放”要显示的界面对象从上到下默认布局为:菜单栏、工具栏、内容和状态栏如果不需要默认布局,则使用QWidget创建主窗口即可
QMainWindow(parent=None,**keys)
iconSize QSize,工具栏图标大小
iconSize()、setIconSize()
toolButtonStyle 工具栏图标和文字显示样式
Qt.ToolButtonIconOnly 仅显示图标
Qt....
QMainWindow,包含默认布局的主窗口
在实际开发中,一般会首先创建一个主窗口用于“盛放”要显示的界面对象
从上到下默认布局为:菜单栏、工具栏、内容和状态栏
如果不需要默认布局,则使用QWidget创建主窗口即可
QMainWindow(parent=None,**keys) iconSize QSize,工具栏图标大小 iconSize()、setIconSize() toolButtonStyle 工具栏图标和文字显示样式 Qt.ToolButtonIconOnly 仅显示图标 Qt.ToolButtonTextOnly 仅显示文本 Qt.ToolButtonTextBesideIcon 文本在图标旁边 Qt.ToolButtonTextUnderIcon 文本在图标下 setToolButtonStyle()
常用方法
菜单栏 menuBar()、setMenuBar(QMenuBar) 获取和设置菜单栏 工具栏 addToolBar(QToolBar) 添加工具栏 insertToolBar(before, toolbar) 在before之前插入工具栏 insertToolBarBreak(before) 在before之前插入工具栏分隔符 removeToolBar(toolbar) 删除工具栏 removeToolBarBreak(before) 删除before之前的工具栏分隔符 状态栏 statusBar()、setStatusBar(QStatusBar) 获取和设置状态栏 其他 centralWidget() 返回该主窗口包含的所有内容组件
一个菜单栏对象(QMenuBar)或工具栏对象(QToolBar)是由若干个菜单对象(QMenu)组成
QMenuBar,菜单栏
QMenuBar(parent=None,**,defaultUp=false) defaultUp bool,菜单的弹出方向是否向上 isDefaultUp() setDefaultUp()
相关方法
addMenu(QMenu) 添加菜单
QMenu,菜单对象
菜单对象是菜单栏、工具栏或右键菜单的组成元素
QMenu(parent=None,**keys) icon 图标,QtGui.QIcon(file) icon()、setIcon(QIcon) separatorsCollapsible bool(true) 菜单开头或结尾的分隔符是否隐藏 多个连续的分隔符显示为一个 separatorsCollapsible() setSeparatorsCollapsible() title 标题 title()、setTitle()
相关方法
addAction([icon,]title,shortcut,object,func) 用于向菜单中添加一个操作项,并返回一个操作项对象 shortcut 快捷方式,用于快速触发该菜单项的动作 可为字符串,使用加号连接,如"Ctrl+C"、"Shift+Alt+P" 可以指定多个快捷键组合,使用逗号分割,但最多可以指定4组 如"Ctrl+C,Shift+Alt+P" object obj,表示接收信号的对象,通常是一个类的实例 func str|func,表示接收对象中处理该动作的函数 addMenu(QMenu) 添加子菜单 addMenu([icon,]title) 添加菜单项 insertMenu(before, menu) 添加菜单项 返回一个QtGui.QAction实例对象,表示一个用于交互的操作项 isCheckable()、setCheckable(bool) 该操作项是否可选中 isChecked()、setChecked()、toggle() 选中该操作项 text()、setText() icon()、setIcon() shortcut()、setShortcut(QKeySequence) QtGui.QKeySequence(str) isSeparator() 是否是分割符 addSection([icon,]title) 添加一个用于表示分组的分割字段 insertSection(before, [icon,]text) addSeparator() 添加分隔符 insertSeparator(before) clear() 删除菜单的所有操作项 isEmpty() 菜单的操作项是否为空 hideTearOffMenu() 强制隐藏菜单 exec(pos=pos(), at=None) 显示菜单并等待用户的选择 pos表示菜单显示的位置,默认为鼠标点击位置 at 指定菜单相对于父窗口的位置,如果不提供将显示在pos指定的位置 该方法阻塞当前执行,直到用户做出选择,便于处理后续逻辑 返回点击的操作项对象,如果未触发任何项目返回None(通常是按下Esc)
信号相关
aboutToHide() 在菜单即将隐藏之前触发 aboutToShow() 在菜单即将显示之前触发 hovered(action) 鼠标移至某操作时 triggered(action) 触发菜单中的操作时 toggled(bool) 可选中的操作项状态发生改变