主窗口(06):【类】QStatusBar [官翻]
文章目录
- 详细说明
- 属性
- 公共函数
- 构造和析构
- 属性相关
- 增删
- 当前信息
- 公共槽
- 信号
- 受保护的函数
- 重写的受保护的函数
- 演示代码
QStatusBar Class
QStatusBar类提供了一个适合于显示状态信息的水平条。
Header | #include < QStatusBar > |
---|---|
qmake | QT += widgets |
Inherits | QWidget |
Inherited By |
详细说明
每个状态指示分为三类:
- 临时-短暂占据状态栏的大部分。例如,用于解释工具提示文本或菜单项。
- 正常-占据部分状态栏,可能被临时消息隐藏。例如,用于在字处理器中显示页码和行号。
- 永久的-永远不会隐藏。用于重要的模式指示,例如,某些应用程序在状态栏中放置大写锁定指示器。
QStatusBar允许您显示所有三种类型的指示器。
通常,对状态栏功能的请求与QMainWindow对象相关。QMainWindow提供了一个主应用程序窗口,其中有一个菜单栏、工具栏、停靠小部件和一个围绕在大型中心小部件周围的状态栏。可以使用QMainWindow::statusBar() 函数检索状态栏,并使用QMainWindow::setStatusBar() 函数替换状态栏。
使用showMessage() 槽显示临时消息:
void MainWindow::createStatusBar(){statusBar()->showMessage(tr("Ready"));}
要删除临时消息,请使用clearMessage() 槽,或在调用showMessage() 时设置时间限制。例如:
void MainWindow::print(){#if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printdialog)QTextDocument *document = textEdit->document();QPrinter printer;QPrintDialog dlg(&printer, this);if (dlg.exec() != QDialog::Accepted) {return;}document->print(&printer);statusBar()->showMessage(tr("Ready"), 2000);#endif}
使用currentMessage() 函数检索当前显示的临时消息。QStatusBar类还提供messageChanged() 信号,该信号在临时状态消息更改时发出。
通过创建一个小部件(QLabel、QProgressBar甚至QToolButton),然后使用addWidget() 或addPermanentWidget() 函数将其添加到状态栏,可以显示普通和永久消息。使用removeWidget() 函数从状态栏中删除此类消息。
statusBar()->addWidget(new MyReadWriteIndication);
默认情况下,QStatusBar在右下角提供QSizeGrip。可以使用setSizeGripeEnabled() 函数禁用它。使用isSizeGripEnabled() 函数确定尺寸夹点的当前状态。
属性
- sizeGripEnabled : bool 状态栏右下角的QSizeGrip是否已启用
默认情况下,“QSizeGrip”夹点处于启用状态。- QStatusBar(QWidget *parent = nullptr)
- virtual ~QStatusBar()
公共函数
构造和析构
- QStatusBar(QWidget *parent = nullptr)
- virtual ~QStatusBar()
属性相关
- bool isSizeGripEnabled() const
void setSizeGripEnabled(bool)
增删
void addPermanentWidget(QWidget *widget, int stretch = 0)
将给定的小部件永久添加到此状态栏中,如果该小部件不是该QStatusBar对象的子对象,则重新分配该小部件
stretch参数用于在状态栏增长和收缩时计算给定小部件的合适大小。默认的拉伸因子是0,即给小部件一个最小的空间。
永久意味着小部件可能不会被临时消息掩盖。它位于状态栏的最右边。
int insertPermanentWidget(int index, QWidget *widget, int stretch = 0)
void addWidget(QWidget *widget, int stretch = 0)
int insertWidget(int index, QWidget *widget, int stretch = 0)
小部件位于第一个永久小部件的最左侧(请参见addPermanentWidget()),可能会被临时消息遮挡。void removeWidget(QWidget *widget)
当前信息
- QString currentMessage() const
公共槽
- void clearMessage()
- void showMessage(const QString &message, int timeout = 0)
信号
- void messageChanged(const QString &message)
受保护的函数
- void hideOrShow()
- void reformat()
重写的受保护的函数
- virtual bool event(QEvent *e) override
- virtual void paintEvent(QPaintEvent *event) override
- virtual void resizeEvent(QResizeEvent *e) override
- virtual void showEvent(QShowEvent *) override
演示代码
int main(int argc, char *argv[])
{QApplication a(argc, argv);a.setApplicationName ("QMainWindow");QMainWindow w;auto *label = new QLabel("PermanentWidget",&w);label->setFrameStyle (QFrame::Panel | QFrame::Sunken );label->setFrameStyle (QFrame::Panel | QFrame::Sunken );w.statusBar ()->addPermanentWidget (label);label = new QLabel("addWidget()",&w);label->setFrameStyle (QFrame::Panel | QFrame::Sunken );w.statusBar ()->addWidget (label);w.statusBar ()->showMessage ("QMainWindow",1000);w.resize (350,200);w.show();return a.exec();
}
主窗口(06):【类】QStatusBar [官翻]相关推荐
- QSettings 类【官翻】
文章目录 详述 基本用法 QVariant和GUI类型 Section 和 Key 的语法 后备机制 恢复GUI应用程序的状态 同时从多个线程或进程访问设置 特定于平台的说明 应用程序设置的存储位置 ...
- Qt 线程(02):线程类【官翻】
线程类 类名 简介 Concurrent Filter and Filter-Reduce Concurrent Map and Map-Reduce Concurrent Run QAtomicIn ...
- QFileInfo 类【官翻】
文章目录 详述 性能问题 公共函数 创建及析构 目录 路径.文件名及后缀 时间信息 缓存 属性 类型 访问权限 比较 静态公用函数 相关的非成员 QFileInfo 类 QFileInfo类提供与系统 ...
- QFileDevice 类【官翻】
文章目录 一.详述 二.公共类型 三.公共函数 四.重新实现的公共函数 五.重新实现受保护的函数 QFileDevice 类 QFileDevice类提供用于读取和写入打开文件的接口. Header: ...
- QStorageInfo 类【官翻】
文章目录 详述 公共函数 静态公共函数 相关非成员 QStorageInfo 类 提供有关当前安装的存储和驱动器的信息. Header: #include < QStorageInfo > ...
- QFile 类【官翻】
文章目录 详述 直接读取文件 使用流读取文件 信号 平台特定问题 公共类型 公共函数 重新实现的公共函数 静态公用函数 QFile 类 QFile类提供用于读取和写入文件的接口. Header: #i ...
- 在主窗口中增加绘图类控件时(以QPainter为例)时不显示内容的问题(不应该加addStretch)
问题引出 假如我要实现以下GUI,包含一个主窗口,主窗口内又包含1个绘图类控件(QPainter中的QdrawText)和1个 单行文本框控件(QLineEdit). 期望效果图 开始实现的代码为: ...
- Qt应用程序主窗口之一:主窗口框架
对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点 ...
- Qt应用程序主窗口框架
Qt 应用程序主窗口框架 1. Qt资源系统.菜单栏和工具栏 1.1 使用资源 1.2 编写代码方式添加菜单 1.3 菜单栏 1.4 工具栏 2. 中心部件 3. Dock部件 4. 状态栏 5. 例 ...
最新文章
- Python函数(2)
- 佐客牛排机器人餐厅_高大上!滕州这家餐厅竟然用机器人“跑堂”(图)
- IEEE 754——计算机中浮点数的表示方法
- 从《Java核心技术卷Ⅱ》看Java操作pdf的工具类itext
- 计算机的发展导致了计算思维的诞生,尔雅电子计算机的诞生(上)
- 有限元分析类毕业论文文献(推荐10篇)
- Java开发基础(四)——dbutils的使用
- SEO和SEM的区别是什么
- idea更新报错:master has no tracked branch
- stmt php,PHP mysqli_stmt_free_result() 函数用法及示例
- 经典人工智能及开发工具--不看会后悔!!
- 冬季送暖!实用围巾打法!(图)
- 未来教育1级计算机基础及ms,未来教育.全国计算机等级考试一本通一级计算机基础及MS Office应用...
- php 微信文章阅读量,微信阅读量
- C语言除法哪个是整除,c语言整除(c语言整除怎么表示)
- 【数据可视化应用】xarray 绘图可视化(五)-二进制GrADS气象数据处理(附代码)
- Python基础78 - 类和对象魔法方法
- S32DS 3.4 3.5颜色配色方案及代码自动补全提示
- Oracle数据库学习:PL/SQL(详解)
- 数据结构python版 答案_中国大学慕课答案大全_数据结构与算法Python版章节测试答案...