日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt菜单栏-工具栏-状态栏

發布時間:2023/12/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt菜单栏-工具栏-状态栏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、創建動作

QAction是Qt中用于添加動作的類,可以將它添加在菜單,作為一個菜單項,也可以添加到工具欄,作為一個工具欄按鈕。

  • 其中參數一是設置該操作按鈕的圖標,":/images/icon"是資源文件的路徑
  • 參數二中"&“號代表設置快捷鍵為"Alt+o”

QAction *open = new QAction(QIcon(“:/images/icon”),“Open(&O)”,this);

【關聯動作的槽函數】

//綁定槽函數 connect(open, &QAction::triggered, this, &MainWindow::openAct); //槽函數定義 void MyNotePad::openAct() { ... }

2、設置快捷鍵

設置快捷鍵為"Ctrl+o",這里使用QKeySequence類是為了可以跨平臺,例如pc和mac下的鍵盤不一樣,Qt可以根據平臺不同設置相應的快捷鍵。該類中為我們定義了很多內置的快捷鍵,可以直接使用,例如下面注釋的一行。也可以自己創建一個QKeySequence類,傳入我們想要設置的快捷鍵。

//open->setShortcut(QKeySequence(QKeySequence::Open)); open->setShortcut(QKeySequence("Ctrl+O"));

3、設置工具提示

open->setToolTip(“open file”);//不寫默認為行為名稱

4、動作提示

open->setStatusTip(“open existing file”);

5、 添加菜單

在菜單欄中添加一個菜單。因為Qt界面工程,默認自帶了菜單欄、工具欄和狀態欄,所以我們可以直接使用ui->menuBar來調用。

QMenu *file = ui->menuBar->addMenu("File(&F)"); menuBar()->addMenu("文件");

6、給菜單添加動作

//將動作添加為一個菜單項 file->addAction(open);

7、添加道工具

ui->mainToolBar->addAction(open);

8、狀態欄提醒

狀態欄可以顯示臨時信息、永久信息和其他組件。

// 還可以設定顯示時間,毫秒為單位,例如: statusBar()->showMessage("歡迎!",2000);

狀態欄中顯示一些組件:

QLabel *statusLabel; statusLabel = new QLabel(this); statusLabel->setFrameShape(QFrame::WinPanel); statusLabel->setFrameShadow(QFrame::Sunken); ui->statusBar->addWidget(statusLabel); statusLabel->setText("歡迎!!!");

這樣就可以在需要顯示信息的時候,調用statusLabel->setText()來設置了。

狀態欄顯示永久信息:

需要使用addPermanentWdget函數來添加一個可以顯示信息的組建,它會顯示在狀態欄的右側,不會被臨時信息所遮蓋。

//顯示一個超鏈接: QLabel *permanent = new QLabel; permanent->setFrameStyle(QFrame::Box | QFrame::Sunken); permanent->setText(tr("<a href=\"http://www.baidu.com\">baidu.com</a>")); permanent->setTextFormat(Qt::RichText); //設置為超文本 permanent->setOpenExternalLinks(true); //開啟自動打開超鏈接 ui->statusBar->addPermanentWidget(permanent);顯示一個滑塊: slider = new QSlider(Qt::Horizontal, this); slider->setMaximum(100); slider->setMaximumWidth(200); ui->statusBar->addPermanentWidget(slider); connect(slider, &QSlider::valueChanged, this, &MainWindow::set_label_value);

Qt實現一個記事本test
功能:
新建文件、保存文件
打開指定的文本文件 (文件對話框,菜單欄)
顯示文件內容 (textEdit)
修改文件內容并保持(工具欄 ,快捷鍵)
工具欄設置字體,背景顏色(字體對話框,顏色對話框,工具欄)

總結

以上是生活随笔為你收集整理的Qt菜单栏-工具栏-状态栏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。