Qt Ribbon使用实例

采用SARibbon创建简单的ribbon界面

实例代码如下所示:

1、头文件:

#pragma once

#include <SARibbonBar.h>

#include "SARibbonMainWindow.h"

class QTextEdit;

class SAProjectDemo1 : public SARibbonMainWindow

{

Q_OBJECT

public:

SAProjectDemo1(QWidget *parent = Q_NULLPTR);

QAction* createAction(const QString& text, const QString& iconurl);

QTextEdit *mTextedit;

};

2、源文件

#include "SAProjectDemo1.h"

#include <QTextEdit>

#include <QStatusBar>

SAProjectDemo1::SAProjectDemo1(QWidget *parent)

: SARibbonMainWindow(parent)

{

setWindowTitle(("ribbon mainwindow test"));

setRibbonTheme(SARibbonTheme::RibbonThemeOffice2021Blue);

SARibbonBar* pRibbonBar = ribbonBar();

//

SARibbonCategory* page1 = new SARibbonCategory();

page1->setCategoryName("page1");

SARibbonPannel* pannel1 = new SARibbonPannel("pannel1", page1);

{

QAction* act = createAction("Demo", ":/SAProjectDemo1/Res/fullscreen.png");

act->setIconText("save1");

connect(act, &QAction::triggered, this, [this, act]()

{

});

pannel1->addLargeAction(act);

}

{

QAction* act = createAction("Demo", ":/SAProjectDemo1/Res/fullscreen.png");

act->setIconText("save2");

connect(act, &QAction::triggered, this, [this, act]()

{

});

pannel1->addLargeAction(act);

}

{

QAction* act = createAction("Demo", ":/SAProjectDemo1/Res/fullscreen.png");

act->setIconText("save3");

connect(act, &QAction::triggered, this, [this, act]()

{

});

pannel1->addLargeAction(act);

}

page1->addPannel(pannel1);

//

SARibbonPannel* pannel12 = new SARibbonPannel("pannel12", page1);

page1->addPannel(pannel12);

{

QAction* act = createAction("Demo", ":/SAProjectDemo1/Res/fullscreen.png");

act->setIconText("save");

connect(act, &QAction::triggered, this, [this, act]()

{

});

pannel12->addLargeAction(act);

}

pRibbonBar->addCategoryPage(page1);

//

SARibbonCategory* page2 = new SARibbonCategory();

page2->setCategoryName("page2");

SARibbonPannel* pannel2 = new SARibbonPannel("pannel2", page2);

{

QAction* act = createAction("Demo", ":/SAProjectDemo1/Res/fullscreen.png");

act->setIconText("save");

connect(act, &QAction::triggered, this, [this, act]()

{

});

pannel2->addLargeAction(act);

}

page2->addPannel(pannel2);

pRibbonBar->addCategoryPage(page2);

mTextedit = new QTextEdit(this);

setCentralWidget(mTextedit);

//

setStatusBar(new QStatusBar());

resize(800, 600);

}

QAction* SAProjectDemo1::createAction(const QString& text, const QString& iconurl)

{

QAction* act = new QAction(this);

act->setText(text);

act->setIcon(QIcon(iconurl));

act->setObjectName(text);

return act;

}

相关推荐
述雾学java11 天前
Spring Cloud 服务调用详解:Ribbon 负载均衡与 Feign 声明式接口调用
spring cloud·ribbon·负载均衡
liang899919 天前
负载均衡器:Ribbon和LoadBalance
运维·ribbon·负载均衡
wuxinyan12322 天前
Java面试题019:一文深入了解微服务之负载均衡Ribbon
java·微服务·面试·ribbon
sg_knight23 天前
Ribbon负载均衡实战指南:7种策略选择与生产避坑
java·spring boot·spring·spring cloud·微服务·ribbon·负载均衡
TNTLWT1 个月前
Qt功能区:Ribbon使用
开发语言·qt·ribbon
Absinthe_苦艾酒2 个月前
SpringCloud之Ribbon基础认识-服务负载均衡
spring cloud·微服务·ribbon
柚个朵朵2 个月前
Springclound常用五大组件及其使用原理
spring cloud·hystrix·eureka·ribbon·gateway·feign
白总Server2 个月前
多智能体系统的中间件架构
linux·运维·服务器·中间件·ribbon·架构·github
repetitiononeoneday2 个月前
微服务基础-Ribbon
微服务·ribbon·架构
蓝眸少年CY2 个月前
(第三篇)Springcloud之Ribbon负载均衡
spring cloud·ribbon·负载均衡