書名: Qt編程快速入門作者名: 鮑忠貴本章字數: 408字更新時間: 2021-03-19 17:41:45
2.4 狀態條
2.4.1 在狀態條顯示信息
若想在狀態條顯示信息,直接在主窗口QMainWindow需要的位置調用statusBar()->showMessage()操作即可。這個功能很有用,在沒有介紹輸出組件和QMessageBox以前,可以用該功能輸出顯示信息。下面的代碼將原來用消息對話框彈出顯示的信息,改為在狀態欄輸出信息。
void MainWindow::on_action_O_triggered() { //輸入以下用戶代碼 //QMessageBox::information(this, "消息","選擇了打開菜單項"); statusBar()->showMessage(tr("選擇了打開菜單項")); }
2.4.2 在狀態條添加部件
和工具條一樣,在狀態條中也可以添加窗口部件。下面的例子在狀態條增加兩個標簽部件,顯示鼠標的位置信息。通過這種方法,可以把進度條、標簽等合適的部件放在狀態條顯示。
(1)在頭文件中增加以下代碼,包含標簽部件的頭文件,定義數據響應操作。
//增加頭文件,引用QLabel #include<QLabel> … Public: … //增加鼠標移動事件響應操作 void mouseMoveEvent(QMouseEvent * event); //增加兩個標簽 QLabel *MouseX; QLabel *MouseY;
(2)在構造函數中,增加以下代碼,設置顯示標簽的位置。
MouseX=new QLabel(ui->statusBar); MouseX->setFixedWidth(50); MouseX->setIndent(3); MouseY=new QLabel(ui->statusBar); MouseY->setFixedWidth(50); MouseY->setIndent(3); ui->statusBar->addWidget(MouseX); ui->statusBar->addWidget(MouseY); setMouseTracking(true);
(3)實現mouseMoveEvent操作,顯示鼠標移動位置。
void MainWindow::mouseMoveEvent(QMouseEvent * event) { MouseX->setNum(event->x()); MouseY->setNum(event->y()); }
(4)編譯運行,如圖2-24所示。

圖2-24 狀態條顯示程序運行界面
推薦閱讀
- Learning Real-time Processing with Spark Streaming
- 軟件架構設計:大型網站技術架構與業務架構融合之道
- Spring Boot+Spring Cloud+Vue+Element項目實戰:手把手教你開發權限管理系統
- Learn WebAssembly
- Visual Basic程序設計與應用實踐教程
- Learning Apache Kafka(Second Edition)
- Microsoft System Center Orchestrator 2012 R2 Essentials
- Building an RPG with Unity 2018
- Learning FuelPHP for Effective PHP Development
- C語言程序設計實驗指導 (第2版)
- Julia高性能科學計算(第2版)
- Angular開發入門與實戰
- Python自然語言理解:自然語言理解系統開發與應用實戰
- C#面向對象程序設計(第2版)
- Mastering OpenStack