【Qt编程】Qt学习之状态栏

        QStatusBar类提供一个水平条来显示状态信息。所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面、字数等等信息。状态信息可以分为三类:临时信息,如一般的提示信息;正常信息,如页数;永久信息,如版本信息。QMainWindow中默认提供了一个状态栏。我们可以使用showMessage()来显示一个临时消息,它会出现在状态栏的最左边。我们一般用addWidget()将一个QLabel加到状态栏上用于显示正常信息,它会生成到状态栏的最左边,可能会被临时消息覆盖。我们使用addPermanentWidget()来添加一个QLabel来在状态栏的最右边显示永久信息。它不会被临时信息所掩盖

        在状态栏的最右端还有一个QSizeGrip部件用来调整窗口大小,我们可以通过setSizeGripEnabled()函数来禁用它。也许你想通过使用Qt Designer来可视化地完成窗口布局。但是事与愿违,目前的设计器还不支持直接向状态栏中拖放部件,所以我们就不能偷懒了,必须使用代码来设置了。下面程序为对状态栏的测试程序,只需要编辑mainwindow的构造函数如下:不要忘记应包含相应的头文件

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

//    QLabel *normal=new QLabel("正常信息",this);
//    ui->statusBar->addWidget(normal);//显示正常信息

    ui->statusBar->setSizeGripEnabled(false);//去掉状态栏右下角的三角

    ui->statusBar->showMessage(tr("临时信息!"),2000);//显示临时信息2000ms 前面的正常信息被覆盖 当去掉后一项时,会一直显示

    QLabel *permanent=new QLabel(this);
    permanent->setFrameStyle(QFrame::Box|QFrame::Sunken);
    permanent->setText(tr("<a href=\"http://tengweitw.ueuo.com\">永久信息</a>"));
    permanent->setOpenExternalLinks(true);//设置可以打开网站链接
    ui->statusBar->addPermanentWidget(permanent);//显示永久信息

}

显示结果如下:

原文:http://blog.csdn.net/tengweitw/article/details/22511521

作者:nineheadedbird

时间: 2024-10-23 05:31:06

【Qt编程】Qt学习之状态栏的相关文章

qt-Linux下QT编程思想,工作流程

问题描述 Linux下QT编程思想,工作流程 大家好!刚入门linux,想问一下大家QT在linux中编程的大概思想是什么啊?或者说是工作流程?比如说是如何判断屏幕动作发生的或者动作发生是如何处理的?希望大家赐教 解决方案 学过qt吗,用一个星期学下,你就发现qt其实很简单,我这里有全套qt教程,可以给你,QQ1119331234需要加我 解决方案二: http://www.pudn.com/downloads562/ebook/detail2314408.html 解决方案三: QT在嵌入式L

qt-关于QT编程的自定义QListwidgetitem的问题,求大神

问题描述 关于QT编程的自定义QListwidgetitem的问题,求大神 !添加前是这样的图片说明 !添加后每个item都改变了 图片说明

Qt编程,Sybase数据库,编码问题!!!

问题描述 Qt编程,Sybase数据库,编码问题!!! Qt中...读取数据库数据到应用程序出现乱码,是Sybase数据库,用ODBC连接,Sybase用的字符编码是iso_1,ODBC字符编码格式不知道,求对编码格式精通的大神大牛解答,万分感谢,图片已经上传! 解决方案 Qt数据库编程Qt之数据库编程 解决方案二: http://blog.csdn.net/andkylee/article/details/5393122

qt5-使用Qt制作一个自定义的状态栏对话框,置顶,如何不被弹出的字对话框遮挡(不能设置为非模态)

问题描述 使用Qt制作一个自定义的状态栏对话框,置顶,如何不被弹出的字对话框遮挡(不能设置为非模态) 现在程序要求有一个状态栏类似于Windows的任务栏一样,永远置顶悬浮.又不允许 将子对话框设置为非模态的情况下可以操作那个状态栏,现在已经可以置顶,但是当有 模态对话框弹出的时候,无法操作状态栏. 解决方案 用api setwindowpos swp_topmost 解决方案二: 你子对话框以模态方式弹出的时候,父对话框自然是不能操作的.这是对话框机制决定的,你想操作,那么就要用非模态子对话框

Qt快速入门学习笔记(基础篇)

本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&tid=193.参考书为基于该系列教程<Qt Creator快速入门>和<Qt及Qt Quick开发实战精解> 1.关联Qt库.如果是分别安装的Qt Creator和Qt库,而不是安装集成Qt Creator和Qt库的SDK,则需要手动关联Qt库.打开工具→选项菜单,然后选择&qu

【Qt编程】基于Qt的词典开发系列--后序

从去年八月份到现在,总算完成了词典的编写以及相关技术文档的编辑工作.从整个过程来说,文档的编写比程序的实现耗费的时间更多.基于Qt的词典开发系列文章,大致包含了在编写词典软件过程中遇到的技术重点与难点.每篇文章都完成了一个小的功能,所给的代码都基本上是可以独立运行的.本系列文章对于想要自己动手完成词典软件的程序员来说具有很好的参考价值,对于想要编写其它软件的人来说也具有参考意义. 词典软件制作的初衷 在2013的年终总结中,我提过想要学习一门界面编程语言,后来就选中了Qt.于是在2014年上半年

qt编程 如何给自定义item控件进行布局,是继承与graphicsitem的。

问题描述 qt编程 如何给自定义item控件进行布局,是继承与graphicsitem的. qt编程 如何给自定义item控件进行布局,这个控件是继承自graphicsitem中的 麻烦告知下 谢谢了 解决方案 http://blog.csdn.net/foruok/article/details/33738227

qt编程里面的treeview显示的问题

问题描述 qt编程里面的treeview显示的问题 itemProject->setChild(itemPd->index().row(),1,new QStandardItem(QString(QLatin1String(ret)))); 用这句话添加目录的第二列信息,界面变得不规则,如下图: 用itemProject->setChild(itemPd->index().row(),1,new QStandardItem(QStringLiteral("12"

常见的几个Qt编程问题的处理

1.如何在窗体关闭前自行判断是否可关闭答:重新实现这个窗体的closeEvent()函数,加入判断操作 void MainWindow::closeEvent(QCloseEvent *event){       if (maybeSave())       {              writeSettings();              event->accept();       }       else       {              event->ignore(); 

【Qt编程】基于Qt的词典开发系列&amp;lt;五&amp;gt;--无边框窗口的拖动

       在上一篇文章中,我们讲述了如何进行无边框窗口的缩放与拖动,而在一些情况下,我们的窗口只需要进行拖动也不需要改变其大小,比如:QQ的登录窗口.本来在上一篇文章中已经讲述了如何进行窗口的拖动,但是却与窗口的缩放相关的程序放在一起,下面专门单独分离出来.       窗口的拖放只涉及到鼠标事件:按下操作.释放操作和移动操作,因此只需要重写这三个函数.由于程序比较简单,并且注释也比较详细,就不作过多介绍.新建一个基类为QWidget的Qt Gui应用程序,只需修改widget.h和widg