首页 > 技术知识 > 正文

菜单栏、工具栏、任务栏是软件中常见的组件,本节将会讲解如何创建菜单栏并生成一级菜单、二级菜单,如何在工具栏中添加图标和控件,如何在任务栏中显示文本。

QT从零入门教程(四):菜单栏、工具栏、状态栏

标题及图标

// 标题大小 setWindowTitle(“图像处理自编软件 by 笔尖”); // 软件图标 setWindowIcon(QIcon(“../Image/icon/ImageProcessing.png”)); // 界面大小 resize(QApplication::desktop()->width()*0.9, QApplication::desktop()->height()*0.9); move(QApplication::desktop()->width()*0.05, QApplication::desktop()->height()*0.01);

菜单栏

// 第一个菜单 QMenu *menu1 = menuBar()->addMenu(tr(“菜单栏1”)); // 创建子菜单,第一个参数QIcon为添加图标,注意路径是否正确,第二个参数是子菜单的显示文本 QAction *act1 = new QAction(QIcon(“../Image/act1.png”), tr(“子菜单”), this); // 创建快捷方式:Ctrl+N,如果想自定义快捷键,可以设置为act->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N)); act1->setShortcuts(QKeySequence::New); // 子菜单触发时执行槽函数,不明白的可以参见前文:信号与槽 connect(act1, SIGNAL(triggered()), this, SLOT(pSlot1())); // 菜单栏添加子菜单 menu1->addAction(act1); // 第二个菜单:添加二级菜单 QMenu *menu2 = menuBar()->addMenu(tr(“菜单栏2”)); QAction *act2 = new QAction(QIcon(“../Image/act2.png”), tr(“一级菜单”), this); QMenu *submenu = new QMenu(); QAction *subact = new QAction(QIcon(“../Image/subact.png”), tr(“二级菜单”), this); submenu->addAction(subact); connect(subact, SIGNAL(triggered()), this, SLOT(subSlot())); act2->setMenu(submenu); // 将二级菜单添加到一级菜单上 menu2->addAction(act2); // 将一级菜单添加到菜单栏上
<

运行结果 QT从零入门教程(四):菜单栏、工具栏、状态栏1

// 窗口自带的工具栏 ui.mainToolBar->addAction(act1); //添加动作 // 自定义工具栏 QToolBar *toolBar = new QToolBar(); toolBar->setMovable(false); // 设置工具栏不可移动,默认是可移动 addToolBar(toolBar); // 把工具栏添加到窗口 QPushButton *button = new QPushButton(); // 这里用按钮控件进行测试 button->setText(tr(“控件”)); toolBar->addAction(subact); // 添加动作 toolBar->addWidget(button); // 添加控件

QT从零入门教程(四):菜单栏、工具栏、状态栏2

// 任务栏 act1->setStatusTip(tr(“子菜单”)); act2->setStatusTip(tr(“一级菜单”)); subact->setStatusTip(tr(“二级菜单”));

QT从零入门教程(四):菜单栏、工具栏、状态栏3

提示

  如果出现汉字乱码问题,需要在程序中添加#pragma execution_character_set(“utf-8”)!!!

  头文件中找不到QPushButton的,说明缺少头文件。

  博主用到的头文件有

#include <QtGui> #include <QtWidgets> #include <string> #include <QMainWindow> 原文连接:https://blog.csdn.net/u013165921/article/details/79280751

猜你喜欢