zoukankan      html  css  js  c++  java
  • Qt界面状态栏

    一、版本

    二、statusBar相关操作

    2.1界面文件状态栏(*.ui文件增加/删除状态栏)

    • ui文件删除状态栏:

    image

    • ui文件增加状态栏:

    image

    2.2状态栏相关操作

    • 隐藏/显示状态栏(界面文件已经包含状态栏)
      1 //隐藏状态栏
      2 ui.statusBar->hide();
      3 
      4 //显示状态栏
      5 ui.statusBar->show();
    • 显示或隐藏状态栏右下角图标

    image

      1 //隐藏右下角图标,fales:不显示角标;true:显示角标。默认true
      2 ui.statusBar->setSizeGripEnabled(false);
      3 
      4 //获取右下角图标显示状态,也就是方法setSizeGripEnabled的设置值
      5 bool statusBarIsShow = ui.statusBar->isSizeGripEnabled();
    • 状态栏从左侧添加插件
      1 
      2 //创建QLable对象
      3 QLable *mp_lable_statistic = new QLabel(this);
      4 
      5 //设置Lable内容
      6 mp_lable_statistic->setText(QString::fromLocal8Bit("系统中图书数量:%1 册").arg(str));
      7 
      8 //设置背景颜色
      9 mp_lable_statistic->setStyleSheet("background-color: rgb(211, 211, 211);");
     10 
     11 //添加到状态栏,从左侧依次添加
     12 ui.statusBar->addWidget(mp_lable_statistic);
    • 状态栏右侧添加插件
      1 //创建按键对象
      2 QPushButton *mp_btn_dbstatus = new QPushButton(this);
      3 
      4 //设置按钮不可点击
      5 mp_btn_dbstatus->setEnabled(false);
      6 
      7 //设置按钮高、宽
      8 mp_btn_dbstatus->setMaximumHeight(25);
      9 mp_btn_dbstatus->setMaximumWidth(25);
     10 
     11 //设置按钮形状为直径22的圆形
     12 mp_btn_dbstatus->setMask(QRegion(0, 0, 22, 22, QRegion::Ellipse));
     13 
     14 //设置按钮文字字号
     15 QFont font = mp_btn_dbstatus->font();
     16 font.setPointSize(8);
     17 mp_btn_dbstatus->setFont(font);
     18 
     19 //设置按钮背景颜色
     20 mp_btn_dbstatus->setStyleSheet("background-color: rgb(0, 255, 0);");
     21 
     22 //设置按钮文字
     23 mp_btn_dbstatus->setText(QString::fromLocal8Bit("正常"));
     24 
     25 //添加到状态栏右侧,后添加的在最右侧
     26 ui.statusBar->addPermanentWidget(mp_btn_dbstatus);
    • 状态栏临时显示信息(可以设置定时消失)
      • 显示的临时信息在状态栏左侧;
      • 状态栏没有设置超时消失时间则会一直显示;
      • 临时信息一直显示时,用addWidget方法增加插件会导致增加的插件和临时信息重叠;
      • 临时信息定时消失,消失后不会显示插入的插件信息,需要写槽函数on_pb_search_clicked()来实现消失后显示原来插件;
      • 临时信息需要先添加,然后再用addWidget方法增加插件,才可以显示临时信息,否则不显示临时信息;
      • 如果不设置临时信息消失时间,又需要操作让临时信息消失,可以调用clearMessage方法;
      • addWidget、clearMessage方法是statusBar对象的方法,on_pb_search_clicked()槽函数时statusBar所在界面对象的槽函数。
      1 //设置状态临时显示信息,信息内容“ShowMessage”,2秒后自动消失;
      2 ui.statusBar->showMessage("ShowMessage",2000);
      3 
      4 //如果没有设置2秒自动消失或者两秒内可以通过这个操作清除显示的临时信息;
      5 //ui.statusBar->clearMessage();

    on_statusBar_messageChanged槽函数样例:

      1 void MyDoc::on_statusBar_messageChanged(const QString &msg)
      2 {
      3 	if (ui.statusBar->currentMessage() == "ShowMessage")
      4 	{
      5 		return;
      6 	}
      7 	if (ui.statusBar->currentMessage() == "")
      8 	{
      9 		mp_lable_statistic->show();
     10 	}
     11 }
    • 状态栏中插件边框线统一设置
      1 //不显示其内控件的边框
      2 statusBar()->setStyleSheet(“QStatusBar::item{border: 0px}”);
    • 状态栏背景色设置
      1 ui.statusBar->setStyleSheet("#statusBar{background-color:rgb(0,0,200);}");


    • 状态栏边框线设置

    注意:边框线会被状态栏内的组件继承

      1 //上面线点线
      2 //右边线隐藏
      3 //下边线隐藏
      4 //左边线隐藏
      5 //border-style必须设置,否则不显示边框线
      6 ui.statusBar->setStyleSheet("border-color: rgb(0, 255, 0);border- 1px;border-style:  dotted hidden hidden hidden;");


    三、相关参考

  • 相关阅读:
    POJ 2516 Minimum Cost [最小费用最大流]
    ZOJ 3407 Doraemon's Cake Machine [数学]
    ZOJ 2404 Going Home 【最小费用最大流】
    POJ 3422 Kaka's Matrix Travels 【最小费用最大流】
    树状数组的整理
    Day35 python基础--并发编程基础4
    Day34 python基础--并发编程基础3
    Day33 python基础--并发编程基础2
    Day32 python基础--并发编程基础1
    Day31 python基础--网络编程基础-socketserver
  • 原文地址:https://www.cnblogs.com/mehome/p/15798462.html
Copyright © 2011-2022 走看看