日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Qt中的QMainWindow

發(fā)布時間:2025/4/5 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt中的QMainWindow 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 1 Qt中的QMainWindow簡介
      • 1.1 應(yīng)用程序中的主窗口
      • 1.2 QMainWindow
    • 2 QMainWindow中的菜單欄
    • 3 QMainWindow中的工具欄
    • 4 QMainWindow中的狀態(tài)欄

1 Qt中的QMainWindow簡介

1.1 應(yīng)用程序中的主窗口

應(yīng)用程序中的主窗口:

  • 主窗口是與用戶進行長時間交互的頂層窗口。
  • 程序的絕大多數(shù)功能直接由主窗口提供。
  • 主窗口通常是應(yīng)用程序啟動后顯示的第一個窗口。
  • 整個程序由一個主窗口和多個對話框組成。

1.2 QMainWindow

Qt中的主窗口:

  • Qt開發(fā)平臺中直接支持主窗口的概念。
  • QMainWindow是Qt中主窗口的基類。
  • QMainWindow繼承于QWidget是一種容器類型的組件。

QMainWindow中封裝的秘密:

  • 菜單欄。
  • 工具欄。
  • 中心組件。
  • 停靠組件。
  • 狀態(tài)欄。

    QMainWindow中的組件布局:

  • 2 QMainWindow中的菜單欄

    菜單欄只能有一個!

    在Qt中提供與菜單相關(guān)的類組件:

    在Qt主窗口中創(chuàng)建菜單:

    注意:QAction* action = new QAction("New(&O)", NULL);,這里也可以設(shè)置快捷鍵。

    快捷鍵設(shè)置:
    action->setShortcut(QKeySequence(KEY)):

    • QKeySequence:Qt中與快捷鍵相關(guān)的類。
    • KEY:Qt中代表鍵值的常量,比如Qt::CTRL, Qt::KEY_X。

    QAction的信號:

    QAction被點擊之后會產(chǎn)生一個triggered信號:

    • 通過信號與槽的機制能夠捕捉到QAction對象的操作。
    • 項目中可以將多個信號映射到同一個槽函數(shù)。

    3 QMainWindow中的工具欄

    工具欄的概念和意義:

    • 應(yīng)用程序中集成各種功能實現(xiàn)快捷使用的一個區(qū)域。
    • 工具欄并不是應(yīng)用程序必須存在的組件。
    • 工具欄中的元素可以是各種窗口組件。
    • 工具欄中的元素通常以圖標(biāo)按鈕的方式存在。

    在Qt中提供與工具欄相關(guān)的組件:

    工具欄可以有多個!

    在Qt主窗口中創(chuàng)建工具欄:

    QToolBar的關(guān)鍵成員函數(shù):

    • void setFloatable(bool floatable):設(shè)置工具欄是否可以懸浮(不在指定的邊框位置)。
    • void setMovable(bool movable):設(shè)置工具欄是否可以拖動。
    • void setIconSize(const QSize& iconSize):設(shè)置工具欄圖標(biāo)的大小。

    QToolBar中可以加入任意的QWidget組件:


    4 QMainWindow中的狀態(tài)欄

    狀態(tài)欄的概念和意義:

    • 狀態(tài)欄是應(yīng)用程序中輸出簡要信息的區(qū)域。
    • 狀態(tài)欄一般位于主窗口的最底部。
    • 狀態(tài)欄中的消息類型:
      • 實時消息,如:當(dāng)前程序狀態(tài)。
      • 永久消息,如:程序版本號,機構(gòu)名稱。
      • 進度消息,如:進度條提示,百分比提示。

    在Qt中提供與狀態(tài)欄相關(guān)的類組件:

    在Qt主窗口中創(chuàng)建狀態(tài)欄:

    Qt狀態(tài)欄的設(shè)計原則:

    • 左邊的區(qū)域用于輸出實時消息。
    • 右邊的區(qū)域用于設(shè)置永久消息。
    • addWidget在狀態(tài)欄左半部分添加組件。
    • addPermanentWidget在狀態(tài)欄右半部分添加組件。

    狀態(tài)欄示例程序:

    MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {QStatusBar* sb = statusBar();QLabel* l = new QLabel("Label");QLineEdit* e = new QLineEdit();QPushButton* b = new QPushButton("Button");sb->addPermanentWidget(l);sb->addPermanentWidget(e);sb->addPermanentWidget(b);sb->showMessage("D.T.Software"); }

    參考資料:

  • QT實驗分析教程
  • 總結(jié)

    以上是生活随笔為你收集整理的Qt中的QMainWindow的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。