文章目录
- Qt
- 窗口
- Qt窗口的概念
- 菜单栏
- 工具栏
- 状态栏
- 浮动窗口
- 对话框
Qt
窗口
Qt窗口的概念
QMainWindow 类概述:
QMainWindow 是一个为用户提供主窗口程序的类,它继承自 QWidget 类,并且提供了一个预定义的布局。
菜单栏
菜单栏常用属性:
菜单栏(menu bar):位于主窗口的顶部,用于提供各种操作命令的入口,比如文件的打开、保存,编辑操作等。
属性名 | 功能描述 |
---|---|
title | 菜单栏的标题文本。 |
actions | 菜单栏中包含的所有动作(菜单项)的列表。 |
isVisible | 表示菜单栏是否可见。 |
font | 菜单栏的字体设置。 |
styleSheet | 用于设置菜单栏的样式表,可控制其外观样式,如颜色、背景等。 |
菜单栏常用函数:
函数名 | 功能描述 |
---|---|
addMenu(const QString &title) | 添加一个菜单,参数为菜单标题。 |
addAction(QAction *action) | 向菜单栏添加一个动作(菜单项)。 |
removeAction(QAction *action) | 从菜单栏移除一个动作。 |
menuBar() | 获取主窗口的菜单栏对象。 |
菜单栏信号:
信号名 | 功能描述 |
---|---|
triggered(QAction* action) | 当菜单项(QAction)被触发(点击)时发出此信号。这个信号对于执行与菜单项相关的操作非常有用,例如在点击 “打开文件” 菜单项时,可以连接这个信号来实现文件打开的功能。 |
hovered(QAction* action) | 当鼠标指针悬停在菜单项上时发出。可以用于显示菜单项的提示信息或者改变菜单项的外观以提示用户。 |
工具栏
工具栏 (tool bars):通常也位于主窗口的上部区域,可提供一些常用操作的快捷按钮,方便用户快速执行相关功能,如在文本编辑器中可能有字体设置、加粗、斜体等快捷按钮的工具栏。
工具栏常用属性:
属性名 | 功能描述 |
---|---|
orientation | 工具栏的方向,如水平或垂直。 |
isVisible | 工具栏是否可见。 |
floatable | 工具栏是否可浮动。 |
movable | 工具栏是否可移动。 |
iconSize | 工具栏上按钮图标的大小。 |
工具栏常用函数:
函数名 | 功能描述 |
---|---|
addToolBar(Qt::ToolBarArea area, QToolBar *toolbar) | 添加一个工具栏到指定区域,area表示区域,toolbar是工具栏对象。 |
addAction(QAction *action) | 向工具栏添加一个动作(工具按钮)。 |
removeAction(QAction *action) | 从工具栏移除一个动作。 |
toolBars() | 获取主窗口的所有工具栏列表。 |
工具栏信号:
信号名 | 功能描述 |
---|---|
actionTriggered(QAction* action) | 当工具栏上的工具按钮(由 QAction 表示)被点击触发时发出。可以用于执行相应的工具操作,比如在点击 “保存” 按钮时,连接此信号来实现保存文件的功能。 |
状态栏
状态栏 (status bar):一般位于主窗口的底部,用于显示一些当前应用程序的状态信息,比如当前文档的字数统计、当前操作的提示等。
状态栏常用属性:
属性名 | 功能描述 |
---|---|
sizeGripEnabled | 是否显示状态栏右下角的尺寸调整手柄。 |
isVisible | 状态栏是否可见。 |
minimumSize | 状态栏的最小尺寸。 |
maximumSize | 状态栏的最大尺寸。 |
contentsMargins | 状态栏内容的边距。 |
状态栏常用函数:
函数名 | 功能描述 |
---|---|
showMessage(const QString &message, int timeout = 0) | 在状态栏显示一条消息,timeout表示消息显示的时间(毫秒),0 表示一直显示。 |
addWidget(QWidget *widget, int stretch = 0) | 向状态栏添加一个小部件,stretch表示拉伸因子。 |
removeWidget(QWidget *widget) | 从状态栏移除一个小部件。 |
statusBar() | 获取主窗口的状态栏对象。 |
状态栏信号
信号名 | 功能描述 |
---|---|
messageChanged(const QString& message) | 当状态栏显示的消息发生改变时发出。可以用于记录消息变化或者根据消息内容进行其他相关操作。 |
浮动窗口
浮动窗口(dock widgets):这些部件可以在主窗口内灵活停靠或浮动,用户可根据自己的需求调整它们的位置,比如在一些图形编辑软件中,可能会有颜色选择的浮动窗口等。
浮动窗口常用属性:
属性名 | 功能描述 |
---|---|
title | 浮动窗口的标题。 |
isVisible | 浮动窗口是否可见。 |
floating | 是否处于浮动状态(与停靠相对)。 |
allowedAreas | 允许浮动窗口停靠的区域,如顶部、底部、左侧、右侧等。 |
features | 浮动窗口的特性,如是否可关闭、是否可最大化等。 |
浮动窗口常用函数:
函数名 | 功能描述 |
---|---|
addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockWidget) | 将浮动窗口添加到指定区域,area是区域,dockWidget是浮动窗口对象。 |
setAllowedAreas(Qt::DockWidgetAreas areas) | 设置浮动窗口允许停靠的区域。 |
toggleViewAction() | 获取用于切换浮动窗口可见性的动作。 |
isFloating() | 判断浮动窗口是否处于浮动状态。 |
浮动窗口信号:
信号名 | 功能描述 |
---|---|
visibilityChanged(bool visible) | 当浮动窗口的可见性发生变化(变为可见或者不可见)时发出。可以用于在浮动窗口显示或隐藏时更新相关的用户界面元素或者执行其他操作。 |
topLevelChanged(bool topLevel) | 当浮动窗口的停靠状态发生改变(变为顶级窗口或者变为停靠状态)时发出。这对于处理浮动窗口的布局和交互变化很有用。 |
对话框
对话框是应用程序中最常用的界面元素。消息对话框主要用于为用户提示重要信息,强制用户进行选择操作。
对话框常用属性:
属性名 | 功能描述 |
---|---|
modal | 是否为模态对话框。 |
windowTitle | 对话框的标题。 |
size | 对话框的大小。 |
geometry | 对话框的位置和大小(包括位置坐标和尺寸)。 |
icon | 对话框的图标。 |
对话框常用函数:
函数名 | 功能描述 |
---|---|
exec() | 以模态方式显示对话框,阻塞直到用户关闭对话框并返回结果。 |
show() | 以非模态方式显示对话框,对话框立即显示且程序继续执行。 |
setWindowTitle(const QString &title) | 设置对话框的标题。 |
accept() | 关闭对话框并设置结果为Accepted。 |
reject() | 关闭对话框并设置结果为Rejected。 |
对话框信号:
信号名 | 功能描述 |
---|---|
accepted() | 当用户以 “接受” 的方式(如点击 “确定” 按钮)关闭模态对话框时发出。通常用于获取用户在对话框中输入的数据并进行相应的处理。 |
rejected() | 当用户以 “拒绝” 的方式(如点击 “取消” 按钮)关闭模态对话框时发出。可以用于取消正在进行的操作或者恢复之前的状态。 |