zoukankan      html  css  js  c++  java
  • Qt Creator实现状态栏显示

     

    在程序主窗口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文件如下。




     

     
  • 相关阅读:
    PHP文件上传代码和逻辑详解
    了解thinkphp(二)
    了解ThinkPHP(一)
    php关于static关键字
    php关于return的关键字
    会话控制
    PDO数据库
    PHP包含文件函数include、include_once、require、require_once区别总结
    jQuery事件
    一、MVC模式学习概述
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4273623.html
Copyright © 2011-2022 走看看