当前位置: 首页 > news >正文

营销型网站建设文章嘉兴seo优化

营销型网站建设文章,嘉兴seo优化,网站开发与设计试题,哪里有微信网站建设Qt开发 系列文章 - menu(六) 目录 前言 一、示例演示 二、菜单栏 1.MenuBar 2.Menu 总结 前言 QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menubar)、多个工具栏(toolbars)、一个状态栏(status…

Qt开发 系列文章 - menu(六)


目录

前言

一、示例演示

二、菜单栏

1.MenuBar

2.Menu

总结


前言

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menubar)、多个工具栏(toolbars)、一个状态栏(statusbar)及一个中心部件(centralwidget),是许多应用程序的基础。今天本文主要讲解菜单栏QMenuBar和QMenu,其中QMenu可以嵌入到菜单栏QMenuBar中,也可以作为弹出菜单使用。

QMenu是Qt框架中的一个类,用于创建和管理菜单。它提供了丰富的接口来添加菜单项、子菜单以及分隔符。QMenu不仅支持文本菜单项,还支持图标、快捷键和状态提示等功能,这些都可以通过QAction来设置。


一、示例演示

先给出本文示例效果展示,如下。

二、菜单栏

将从两个方面讲解菜单,第一个是示例演示中的MenuBar,在窗口前端添加菜单选项;第二个是在子窗口上通过鼠标点击显示菜单Menu。

1.MenuBar

  • 步骤1

新建一个Qt项目,带UI设计的,不会创建的参考本博主前面的博文,创建完后,双击打开项目。

  • 步骤2

如果如要在菜单中添加图片显示的,可参考这一步操作,如果不如要则跳过该步骤。添加图标首先是将你的图片添加到项目中,图片格式可以是ico、png等等。

在Qt界面上,选择你的项目,右键选择添加现有文件,选择你的图标目录,如下左图所示。将图标全部选中,点击打开添加。添加完后在Qt项目中会见到如下添加图标,见如下右图。

     

  • 步骤3

在Qt项目界面上,双击打开UI设计文件,在QMenuBar上添加如下功能,有主菜单和子菜单选项,自己可以按需添加,如下所示。

上面创建好的选项,在UI界面底部显示全部的内容,具体如下。

  • 步骤4

单击选中其中一个,右键进行编辑,此时可修改为中文,也可以添加步骤2所加的图标。操作完后显示如下左图。

  • 步骤5

要实现相关的按钮功能,例如,在帮助上显示版本信息,操作如下,选中项目,右键选择转到槽函数,选择triggered函数,步骤如下。

     

triggered函数代码如下(示例)。

void MainWindow::on_action_4_triggered()
{info = new QTextBrowser;info->setWindowTitle("版本信息");info->setWindowIcon(QApplication::style()->standardIcon(QStyle::StandardPixmap::SP_MessageBoxInformation));info->setText("版本14.7.0.9802\n系统词频: 630211129\n编译时间: Aug  2 2024 17:00:18");info->show();
}
  • 步骤6

上述创建好后,在UI界面左侧,主窗口类处,会有如下变量。

此时在窗口前端添加MenuBar菜单选项已操作完毕,接下面实现在子窗口上通过鼠标点击显示菜单Menu。

2.Menu

  • 步骤1

同样是打开UI设计界面,在UI界面上添加如下①②③,相应的类如下右图。

   

  • 步骤2

要实现相关函数功能,先在头文件上定义相关类,代码如下(示例):

class MainWindow : public QMainWindow
{Q_OBJECT
public:MainWindow(QWidget *parent = nullptr);~MainWindow();
private slots:void on_action_4_triggered();
protected:void InitChart();void CreateMenu(QWidget *parent);bool eventFilter(QObject *obj, QEvent *event) override;
private:Ui::MainWindow *ui;QTextBrowser *info;QChart *chart;QLineSeries *series;QMenu *menu_widget;QMenu *menu_tab;QMenu *menu_tab_2;
};
  • 步骤3

在构造函数上进行参数初始化,和注册事件过滤器、创建菜单变量,并关联到相关子窗口上,代码如下(示例)。

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);ui->toolBar->hide();InitChart();/*** 注册事件过滤器 ***/ui->widget->installEventFilter(this);ui->tab->installEventFilter(this);ui->tab_2->installEventFilter(this);/*** 创建右键菜单 ***/CreateMenu(ui->widget);CreateMenu(ui->tab);CreateMenu(ui->tab_2);
}bool MainWindow::eventFilter(QObject *watched, QEvent *event)
{if(watched == ui->widget) {if(event->type() == QEvent::MouseMove) {QMouseEvent *pMouseEvent = (QMouseEvent*)event;// 功能函数}if(event->type() == QEvent::MouseButtonPress)menu_widget->exec(cursor().pos());  //菜单显示的位置跟随鼠标}else if (watched == ui->tab) {if(event->type() == QEvent::MouseButtonDblClick)menu_tab->exec(cursor().pos());}else if (watched == ui->tab_2) {if(event->type() == QEvent::MouseButtonDblClick)menu_tab_2->exec(cursor().pos());}return QObject::eventFilter(watched, event);
}void MainWindow::CreateMenu(QWidget *parent)
{if(parent == ui->widget) {menu_widget = new QMenu(parent);//创建右键菜单menu_widget->addAction("功能1", this, [=](){fun1();});menu_widget->addAction("功能2", this, [=](){fun2();});menu_widget->addAction("清空", this, [=](){series->clear();});menu_widget->addAction("退出", this, [=](){ui->widget->close();});menu_widget->setStyleSheet("background-color: rgb(30, 30, 30);color: rgb(255, 255, 255);""border-right:2px solid #aaaaaa; ""border-bottom:2px solid #aaaaaa;""border-left:2px solid #aaaaaa;""border-top:2px solid #aaaaaa; ""border-radius:5px;""font: 16pt ""黑体"";""selection-background-color: rgb(100, 40, 40);");}else if (parent == ui->tab) {menu_tab = new QMenu(parent);//创建右键菜单menu_tab->addAction("功能1", this, [=](){fun1();});menu_tab->addAction("功能2", this, [=](){fun2();});menu_tab->addAction("隐藏", this, [=](){ui->tab->hide();});menu_tab->addAction("退出", this, [=](){ui->tab->close();});menu_tab->setStyleSheet("background-color: rgb(30, 30, 30);color: rgb(255, 255, 255);""border-right:2px solid #aaaaaa; ""border-bottom:2px solid #aaaaaa;""border-left:2px solid #aaaaaa;""border-top:2px solid #aaaaaa; ""border-radius:5px;""font: 16pt ""黑体"";""selection-background-color: rgb(100, 40, 40);");}else if (parent == ui->tab_2) {menu_tab_2 = new QMenu(parent);//创建右键菜单menu_tab_2->addAction("功能1", this, [=](){fun1();});menu_tab_2->addAction("功能2", this, [=](){fun2();});menu_tab_2->addAction("隐藏", this, [=](){ui->tab_2->hide();});menu_tab_2->addAction("退出", this, [=](){ui->tab_2->close();});menu_tab_2->setStyleSheet("background-color: rgb(30, 30, 30);color: rgb(255, 255, 255);""border-right:2px solid #aaaaaa; ""border-bottom:2px solid #aaaaaa;""border-left:2px solid #aaaaaa;""border-top:2px solid #aaaaaa; ""border-radius:5px;""font: 16pt ""黑体"";""selection-background-color: rgb(100, 40, 40);");}
}

上述编写完毕后,软件编译运行,显示如下。


总结

博文中相应的工程代码Qt-Case.zip 利用Qt开发软件进行编的例程,为博文提供案例-CSDN文库。

http://www.hkea.cn/news/138182/

相关文章:

  • 网站开发建设书籍推荐b2b外贸平台
  • 网站首页的布局设计进行优化
  • 无锡做家纺公司网站如何建网站不花钱
  • bootstrap制作的网站页面优化网站seo
  • 海口网站建设优化班级优化大师官网登录
  • 连接品硕网线做怎么弹网站百度地图推广电话
  • 网站做cdn怎么弄百度推广怎么推广
  • 光谷做网站推广竞价服务托管公司
  • 网上商城网站建设方案书公众号seo排名
  • wordpress内网访问泰州百度关键词优化
  • 做淘客网站用备案网络营销计划书怎么写
  • 网站 公安 备案深圳百度推广客服电话多少
  • 北京米兰广告设计有限公司广州优化疫情防控举措
  • 汕头个人建站模板网站推广计划方法
  • php企业网站无限制源码网络营销方案设计
  • 动漫网站开发与建设百度网盘网页版入口官网
  • 咸阳做网站长沙网络营销外包哪家好
  • 专门做私人定制旅游的网站搜索引擎营销方法
  • 注册安全工程师管理系统网奇seo赚钱培训
  • 武汉市住房和城乡建设厅官方网站生猪价格今日猪价
  • 住房和城乡建设部网站诚信评价搜索引擎优化人员优化
  • 网站制作 太原网络营销专业课程
  • 做网站去哪个公司网络营销策划书的结构
  • 个人无网站怎样做cps广告深圳全网推广公司
  • 中国人可以做的c2c网站上海网站排名推广
  • 网站建设目标定位公司员工培训方案
  • 美工培训班学百度自然搜索排名优化
  • 网站建设自学多长时间搜索引擎营销的过程
  • 做cpa的网站源码seo的外链平台有哪些
  • 那个网站做外贸最好成都网站建设方案外包