中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

thinkphp手機(jī)網(wǎng)站模板百度貼吧官網(wǎng)

thinkphp手機(jī)網(wǎng)站模板,百度貼吧官網(wǎng),網(wǎng)絡(luò)推廣和運營的區(qū)別,e盤網(wǎng)站建設(shè)文章目錄 QMenuBar示例演示給菜單欄設(shè)置快捷鍵給菜單項設(shè)置快捷鍵添加子菜單添加分割線添加圖標(biāo) QMenuBar Qt中采用QMenuBar來創(chuàng)建菜單欄,一個主窗口,只允許有一個菜單欄,位于主窗口的頂部、主窗口標(biāo)題欄下面;一個菜單欄里面有多…

文章目錄

    • QMenuBar
    • 示例演示
    • 給菜單欄設(shè)置快捷鍵
    • 給菜單項設(shè)置快捷鍵
    • 添加子菜單
    • 添加分割線
    • 添加圖標(biāo)

QMenuBar

Qt中采用QMenuBar來創(chuàng)建菜單欄,一個主窗口,只允許有一個菜單欄,位于主窗口的頂部、主窗口標(biāo)題欄下面;一個菜單欄里面有多個菜單QMenu;菜單里面有菜單項QAction

在這里插入圖片描述

QAction不僅僅在菜單里使用,還在工具欄里使用,工具欄的本質(zhì),就是菜單中一些選項的“快捷方式”

image-20240917151447658

示例演示

創(chuàng)建一個餐單欄,添加菜單,給菜單添加菜單項

創(chuàng)建工程的時候選擇的是QMainWindow了,因為要創(chuàng)建窗口

image-20240917151733556

ui界面:

image-20240917152954287

這里有一個Bug,就是在ui界面設(shè)置菜單項的時候,中文無法輸入(可以通過復(fù)制粘貼),這有點麻煩

代碼創(chuàng)建:

關(guān)于QMenuBar的創(chuàng)建方式:

QMenuBar* menuBar = new QMenuBar();
this->setMenuBar(menuBar);

如果在創(chuàng)建項目的時候,沒有勾選自動創(chuàng)建ui文件,上述代碼沒問題;

如果勾選了自動生成ui文件,就會造成內(nèi)存泄漏,因為我們這個操作會代替舊的menubar,舊的沒有釋放。

QMenuBar* menuBar = this->menuBar();
this->setMenuBar(menuBar);

QMenuBar* menuBar = this->menuBar();表示如果QMenuBar()存在,則直接獲取;如果不存在,就創(chuàng)建一個新的再返回

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QtDebug>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//創(chuàng)建菜單欄//QMenuBar* menuBar = new QMenuBar();QMenuBar* menuBar = this->menuBar();this->setMenuBar(menuBar);  //添加到對象樹//創(chuàng)建菜單QMenu* menu1 = new QMenu("文件");QMenu* menu2 = new QMenu("編輯");QMenu* menu3 = new QMenu("構(gòu)建");menuBar->addMenu(menu1);menuBar->addMenu(menu2);menuBar->addMenu(menu3);//添加菜單項QAction* action1 = new QAction("新建");QAction* action2 = new QAction("打開");QAction* action3 = new QAction("關(guān)閉");menu1->addAction(action1);menu1->addAction(action2);menu1->addAction(action3);//添加信號槽connect(action1, &QAction::trigger, this, &MainWindow::handle);connect(action3, &QAction::trigger, this, &MainWindow::close);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::handle()
{qDebug() << "觸發(fā)新建操作";
}

菜單項被點擊的時候,會觸發(fā)一個信號triggered,可以設(shè)置對應(yīng)的槽函數(shù),來響應(yīng)操作

GIF 2024-9-17 16-51-19

給菜單欄設(shè)置快捷鍵

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//QMenuBar* menuBar = new QMenuBar();QMenuBar* menuBar = this->menuBar();this->setMenuBar(menuBar);QMenu* menu1 = new QMenu("文件(&F)");QMenu* menu2 = new QMenu("編輯(&E)");QMenu* menu3 = new QMenu("構(gòu)建(&B)");QMenu* menu4 = new QMenu("調(diào)試(&D)");menuBar->addMenu(menu1);menuBar->addMenu(menu2);menuBar->addMenu(menu3);menuBar->addMenu(menu4);QAction* action1 = new QAction("新建");QAction* action2 = new QAction("撤銷");QAction* action3 = new QAction("構(gòu)建項目");QAction* action4 = new QAction("開始調(diào)試");menu1->addAction(action1);menu2->addAction(action2);menu3->addAction(action3);menu4->addAction(action4);
}MainWindow::~MainWindow()
{delete ui;
}

這里構(gòu)建的時候直接加上& 鍵位即可,然后就可以通過alt + 鍵位觸發(fā)

和給QLabel設(shè)置伙伴類似

GIF 2024-9-17 17-08-36

給菜單項設(shè)置快捷鍵

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//QMenuBar* menuBar = new QMenuBar();QMenuBar* menuBar = this->menuBar();this->setMenuBar(menuBar);QMenu* menu1 = new QMenu("文件(&F)");QMenu* menu2 = new QMenu("編輯(&E)");menuBar->addMenu(menu1);menuBar->addMenu(menu2);QAction* action1 = new QAction("新建(&N)");QAction* action2 = new QAction("打開(&O)");QAction* action3 = new QAction("撤銷(&Z)");menu1->addAction(action1);menu1->addAction(action2);menu2->addAction(action3);connect(action1, &QAction::triggered, this, &MainWindow::handle1);connect(action2, &QAction::triggered, this, &MainWindow::handle2);connect(action3, &QAction::triggered, this, &MainWindow::handle3);}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::handle1()
{qDebug() << "新建";
}void MainWindow::handle2()
{qDebug() << "打開";
}void MainWindow::handle3()
{qDebug() << "撤銷";
}

GIF 2024-9-17 17-17-18

添加子菜單

image-20240917172027803

QMenu也提供了addMenu,給菜單項添加子菜單

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//QMenuBar* menuBar = new QMenuBar();QMenuBar* menuBar = this->menuBar();this->setMenuBar(menuBar);QMenu* menu1 = new QMenu("父菜單");QMenu* menu1_1 = new QMenu("子菜單");menuBar->addMenu(menu1);menu1->addMenu(menu1_1);QAction* action1 = new QAction("菜單項1");QAction* action2 = new QAction("菜單項2");menu1_1->addAction(action1);menu1_1->addAction(action2);
}MainWindow::~MainWindow()
{delete ui;
}

image-20240917172504228

添加分割線

如果菜單項特別多,可以通過`add分割線進(jìn)行分組,讓用戶看的更清楚

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//QMenuBar* menuBar = new QMenuBar();QMenuBar* menuBar = this->menuBar();this->setMenuBar(menuBar);QMenu* menu1 = new QMenu("菜單1");QMenu* menu2 = new QMenu("菜單2");QMenu* menu3 = new QMenu("菜單3");menuBar->addMenu(menu1);menuBar->addMenu(menu2);menuBar->addMenu(menu3);QAction* action1 = new QAction("菜單項1");QAction* action2 = new QAction("菜單項2");QAction* action3 = new QAction("菜單項3");QAction* action4 = new QAction("菜單項4");menu1->addAction(action1);menu1->addAction(action2);menu1->addSeparator();  //添加分割線menu1->addAction(action3);menu1->addSeparator();menu1->addAction(action4);}MainWindow::~MainWindow()
{delete ui;
}

image-20240917173025970

添加圖標(biāo)

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//QMenuBar* menuBar = new QMenuBar();QMenuBar* menuBar = this->menuBar();this->setMenuBar(menuBar);QMenu* menu1 = new QMenu("菜單1");QMenu* menu2 = new QMenu("菜單2");QMenu* menu3 = new QMenu("菜單3");menuBar->addMenu(menu1);menuBar->addMenu(menu2);menuBar->addMenu(menu3);QAction* action1 = new QAction("kun");action1->setIcon(QIcon(":/ikun.png"));QAction* action2 = new QAction("籃球");action2->setIcon(QIcon(":/ikun2.png"));menu1->addAction(action1);menu1->addAction(action2);}MainWindow::~MainWindow()
{delete ui;
}

通過qrc機(jī)制導(dǎo)入圖像,然后再進(jìn)行設(shè)置

QMenu設(shè)置圖標(biāo):

  • 如果是長在QMenuBar上文字就沒有了,直接顯示圖標(biāo)
  • 如果是子菜單,都顯示

image-20240917173655496

http://www.risenshineclean.com/news/6967.html

相關(guān)文章:

  • 做商城外貿(mào)網(wǎng)站杭州優(yōu)化外包
  • 團(tuán)購網(wǎng)站前景seo刷排名公司
  • 九江網(wǎng)站建設(shè)寧波seo教程行業(yè)推廣
  • 政府網(wǎng)站建設(shè)發(fā)展前景口碑營銷5t
  • 上海網(wǎng)站域名備案處百度貼吧官網(wǎng)入口
  • 凡客網(wǎng)站的域名怎么做外鏈網(wǎng)址
  • wordpress 分享后可見自己怎么優(yōu)化我網(wǎng)站關(guān)鍵詞
  • 做網(wǎng)站建設(shè)最好學(xué)什么手機(jī)優(yōu)化什么意思
  • 做招聘網(wǎng)站都需要什么手續(xù)易推廣
  • 開源網(wǎng)站建設(shè)輿情系統(tǒng)
  • 在線做圖的網(wǎng)站長沙網(wǎng)站推廣 下拉通推廣
  • 江門網(wǎng)站制作cpa推廣聯(lián)盟平臺
  • 天河建設(shè)網(wǎng)站企業(yè)網(wǎng)站 seo
  • 有哪些做ppt的網(wǎng)站競價推廣賬戶競價托管公司
  • 電話銷售做網(wǎng)站打官司代理推廣
  • linchong WordPress搜索引擎優(yōu)化的流程是什么
  • cc域名 網(wǎng)站使用美國的空間需要備案嗎品牌廣告視頻
  • 企業(yè)手機(jī)網(wǎng)站建設(shè)流程免費b2b網(wǎng)站有哪些
  • 溧水網(wǎng)站建設(shè)百度平臺推廣
  • 高端交互式網(wǎng)站建設(shè)百度百科詞條
  • 保定seo企業(yè)網(wǎng)站愛站工具seo綜合查詢
  • 怎么找網(wǎng)站做宣傳安卓aso優(yōu)化排名
  • 做整合營銷的網(wǎng)站企業(yè)網(wǎng)站推廣模式
  • 網(wǎng)站開發(fā)五人分工外貿(mào)出口平臺網(wǎng)站
  • 便宜的做網(wǎng)站公司網(wǎng)站推廣軟文
  • 提取網(wǎng)站子頁面郵箱中國國家培訓(xùn)網(wǎng)
  • 重慶企業(yè)網(wǎng)站建設(shè)報價十大最靠譜培訓(xùn)機(jī)構(gòu)
  • 旅游網(wǎng)站建設(shè)與規(guī)劃軟文寫手接單平臺
  • 做彩網(wǎng)站有哪些聊城網(wǎng)站開發(fā)
  • 海南在線海南一家正規(guī)網(wǎng)站優(yōu)化公司