在程序主窗口Mainwindow中,有菜单栏,工具栏,中心部件和状态栏。前面几个已经讲过了,这次讲解状态栏的使用。

程序中有哪些不明白的类或函数,请自己查看帮助。

1.我们在mainwindow.h中做一下更改。

加入头文件包含: #include <QLabel>

加入私有变量和函数:

QLabel* first_statusLabel; //声明两个标签对象,用于显示状态信息

QLabel* second_statusLabel;

void init_statusBar(); //初始化状态栏

加入一个槽函数声明:void do_cursorChanged(); //获取光标位置信息

2.在mainwindow.cpp中加入状态栏初始化函数的定义。

void MainWindow::init_statusBar()

{

QStatusBar* bar = ui->statusBar; //获取状态栏

first_statusLabel = new QLabel; //新建标签

first_statusLabel->setMinimumSize(150,20); //设置标签最小尺寸

first_statusLabel->setFrameShape(QFrame::WinPanel); //设置标签形状

first_statusLabel->setFrameShadow(QFrame::Sunken); //设置标签阴影

second_statusLabel = new QLabel;

second_statusLabel->setMinimumSize(150,20);

second_statusLabel->setFrameShape(QFrame::WinPanel);

second_statusLabel->setFrameShadow(QFrame::Sunken);

bar->addWidget(first_statusLabel);

bar->addWidget(second_statusLabel);

first_statusLabel->setText(tr("欢迎使用文本编辑器")); //初始化内容

second_statusLabel->setText(tr("yafeilinux制作!"));

}

这里将两个标签对象加入到了主窗口的状态栏里,并设置了他们的外观和初值。

3.在构造函数里调用状态栏初始化函数。

init_statusBar();

这时运行程序,效果如下。

4.在mainwindow.cpp中加入获取光标位置的函数的定义。

void MainWindow::do_cursorChanged()

{

int rowNum = ui->textEdit->document()->blockCount();

//获取光标所在行的行号

const QTextCursor cursor = ui->textEdit->textCursor();

int colNum = cursor.columnNumber();

//获取光标所在列的列号

first_statusLabel->setText(tr("%1行 %2列").arg(rowNum).arg(colNum));

//在状态栏显示光标位置

}

这个函数可获取文本编辑框中光标的位置,并显示在状态栏中。

5.在构造函数添加光标位置改变信号的关联。

connect(ui->textEdit,SIGNAL(cursorPositionChanged()),this,SLOT(do_cursorChanged()));

这时运行程序。效果如下。

6.在do_file_Load函数的最后添加下面语句。

second_statusLabel->setText(tr("打开文件成功"));

7.在saveFile函数的最后添加以下语句。

second_statusLabel->setText(tr("保存文件成功"));

8.在on_action_Find_triggered函数的后面添加如下语句。

second_statusLabel->setText(tr("正在进行查找"));

9.在on_action_Close_triggered函数最后添加如下语句。

first_statusLabel->setText(tr("文本编辑器已关闭"));

second_statusLabel->setText(tr("yafeilinux制作!"));

最终的mainwindow.cpp文件内容如下。






最终的mainwindow.h文件如下。


 

 

Qt Creator实现状态栏显示的更多相关文章

  1. Qt:Qt Creator分屏显示代码

    之前用VS.PyCharm.IntelliJ IDEA时,如果想分屏看代码,直接把某个Code文件拖到IDE之外就可以了. 而Qt Creator却不能这样做,不过这不代表Qt就不能分屏了:可以点击右 ...

  2. 让Qt Creator支持Windows Phone 8开发

    让Qt Creator支持Windows Phone 8开发 近期QtCreator3.2出了.修复了一些Bug.比上一个版本号3.1.2要好了一些. 因为在上一个版本号(Qt for WinRT自带 ...

  3. 【Qt开发】状态栏设置

    1.在Qt 里面,状态栏显示的信息有三种类型:临时信息.一般信息和永久信息.  其中,临时信息指临时显示的信息,比如QAction 的提示等,也可以设置自己的  临时信息,比如程序启动之后显示Read ...

  4. qt creator源码全方面分析(2-10-4)

    目录 Plugin Life Cycle Plugin Life Cycle 为了能够编写Qt Creator插件,您必须了解启动或关闭Qt Creator时,插件管理器所采取的步骤. 本节详细描述插 ...

  5. qt creator在Qt5中中文显示的问题

    当我们用Qt Creater时,经常出会出现如下问题: 处理方法如下:用记事本打开你的源代码,然后点另存为,utf-8,编码覆盖,这时中文就没问题了但是会乱码.在字符串前加个宏QStringLiter ...

  6. [Qt Creator 快速入门] 第5章 应用程序主窗口

    对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点 ...

  7. qt creator 使用Ui文件的问题

    一.显式地调用uic.exe 如何将UI文件生成头文件 1,将设计的UI文件拷贝到uic.exe的目录下Qt\Qt5.3.2\5.3\mingw482_32\bin. 2, 打开windows的CMD ...

  8. Qt Creator 快捷键

    Qt Creator 你必须要掌握的快捷操作 http://jingyan.baidu.com/article/6fb756ecab5158241858fbb0.html 多使用快捷键能显著提高工作效 ...

  9. Qt Creator调试

    与调试器交互的几种方法: 1.单行运行或者单指令运行 2.中断程序运行 3.设置断点 4.检查调用栈空间的内容 5.检查并修改局部或者全局变量 6.检查并修改被调试程序的寄存器和内存内容 7.检查装载 ...

随机推荐

  1. GDI+基础(2)

    使用钢笔,画笔用来填充图形内部,钢笔则用来绘制带有一定宽度,样式和色彩的线条和曲线. 可以使用标准的pens类 <%@ Page ContentType="image/gif" ...

  2. Visual Studio 2013如何破解(密钥激活)

    其实有个方法最简单,就是点击“帮助”,选择注册产品,点击打开页面右下边的“使用秘钥注册产品”,输入上述秘钥即可.   在输入密钥界面,输入密钥“BWG7X-J98B3-W34RT-33B3R-JVYW ...

  3. 查看SQL server服务名

    net start MSSQL$SQLEXPRESS 启动服务命令 net stop MSSQL$SQLEXPRESS 关闭服务命令 网上看到的那些 我都用不了 最后想起了这个 现在好了

  4. iOS开发之录音

    录音 除了上面说的,在AVFoundation框架中还要一个AVAudioRecorder类专门处理录音操作,它同样支持多种音频格式.与AVAudioPlayer类似,你完全可以将它看成是一个录音机控 ...

  5. 使用C#代码追加和提交文件到SVN服务器

    windows系统下使用svn的命令需要安装一个插件,下载地址:http://sourceforge.net/projects/win32svn/?source=typ_redirect 安装后程序会 ...

  6. Android studio 开发环境搭建

    Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...

  7. Spark 资源调度及任务调度

    1.  资源分配 通过SparkSubmit进行提交应用后,首先会创建Client将应用程序(字节码文件.class)包装成Driver,并将其注册到Master.Master收到Client的注册请 ...

  8. HTML5 + CSS3 + JavaScript

    http://www.programmer.com.cn/14761/#more-14761 文/李晶 随着互联网产业的爆炸式增长,与之伴生的Web前端技术也在历经洗礼和蜕变.尤其是近几年随着移动终端 ...

  9. swipejs

    http://swipejs.com/ http://www.scoop.it/t/javascript-for-mobile http://www.open-open.com/news/view/c ...

  10. assets文件夹资源的访问

    访问assets文件夹中的文件,分为以下几个步骤:1.在Activity里面调用getAssets(),获取AssetManager引用2.调用AssetManager.open(String fil ...