JUCE框架教程(3)—— Component ClassGraphics入门
JUCE框架教程(3)—— Component Class
前言
Graphic文档: https://docs.juce.com/develop/classGraphics.html
Component文档: https://docs.juce.com/develop/classComponent.html
首先,我们创建一个GUI项目取名为sample,并通过projucer的addbutton添加一个名为Blue的组件
在MainComponent.cpp
文件里,可以对我们的UI界面进行更改。
MainComponent::MainComponent()
{addAndMakeVisible(blue);setSize (400, 300);
}
在MainComponent
这个函数里,我们使用addAndMakeVisible()
注册了blue组件,使用setSize()
确定了页面的宽度和长度。
void MainComponent::paint (juce::Graphics& g)
{//the backgroundColorg.fillAll (juce::Colours::pink);g.setFont (juce::Font (32.0f));//g.fillEllipse(getWidth() / 2 - 100, getHeight() / 2 - 100, 200, 200);g.setColour (juce::Colours::black);g.drawText ("AirGain", getLocalBounds(), juce::Justification::centred, true);
}
在ptaint
这个函数里,我们定义了一个名为g的Graphics类。
通过fillAll
改变背景颜色,setFont
修改字体大小,setColour
设置字体颜色,drawText
写字。
//define child components
void MainComponent::resized()
{blue.setBounds(0, 0, getWidth(), getHeight()/3);
}
在resized
这个函数中,可以用来定义子组件(我们之前注册的Blue组件)。通过setBounds
来确定这个子组件在页面中显示的位置。
此时的Blue.cpp:
#include <JuceHeader.h>
#include "Blue.h"//==============================================================================
Blue::Blue()
{// In your constructor, you should add any child components, and// initialise any special settings that your component needs.}Blue::~Blue()
{}void Blue::paint (juce::Graphics& g)
{g.fillAll(juce::Colours::skyblue);
}void Blue::resized()
{}
我们单纯地把Blue组件的背景色设置成了蓝色。
最终,编译项目,得到以下的页面:
以上是JUCE组件和Graphics的基本操作,更多操作请查看JUCE官方文档
JUCE框架教程(3)—— Component ClassGraphics入门相关推荐
- 从零搭建React全家桶框架教程
从零搭建React全家桶框架教程 源码地址:https://github.com/brickspert/react-family 欢迎star 提问反馈:blog 原文地址:https://githu ...
- Smarty中文手册,Smarty教程,Smarty模板的入门教材
Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...
- Konstrukt PHP REST框架 教程二
Konstrukt PHP REST框架 教程二 入门 - 第2部分 在本教程中,我们假设你已经完成了第一个教程,因为它的基础上产生的代码从该. 谈判的Content-Type 在大多数情况下会发出一 ...
- mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入门
点击上方"Java技术前线",选择"置顶或者星标" 与你一起成长 一.Mybatis介绍 MyBatis是一个支持普通*SQL*查询,存储过程和高级映射的优秀持 ...
- scrapy爬虫框架教程(二)-- 爬取豆瓣电影
前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大家讲解一个完整爬虫的流程. 工具和环境 语言:python 2 ...
- 【2021版PHP高级教程-Swoole4.X从入门到精通全套高级实战】
众所周知,Swoole 和我们传统的 PHP 开发差别是有的,需要理解的概念也是有的.使用目前一些基于 Swoole 的框架开发的话,从开发习惯上和传统的TP 框架相差不多.根据官方介绍它是一个底层通 ...
- 《SEO教程:搜索引擎优化入门与进阶(第3版)》
<SEO教程:搜索引擎优化入门与进阶(第3版)> 基本信息 作者: 吴泽欣 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115357014 上架时间:2014-7-1 出 ...
- 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第六章:数据存储
第 6 章 数据存储 本章介绍Android 4种存储方式的用法,包括共享参数SharedPreferences.数据库SQLite.存储卡文 件.App的全局内存,另外介绍Android重要组件-应 ...
- Spring认证中国教育管理中心-Spring Data Redis框架教程三
原标题:Spring认证中国教育管理中心-Spring Data Redis框架教程三 10.15.支持类 Packageorg.springframework.data.redis.support提 ...
- 好程序员web前端教程分享web前端入门基础知识
好程序员web前端教程分享web前端入门基础知识,作为合格的Web前端工程师必须得掌握HTML.CSS和JavaScript.只懂其中一两个还不行,必须对这三门语言都要熟悉.下面我们一起来看一看吧! ...
最新文章
- pandas获取dataframe数据列的数据类型、获取dataframe每类数据类型数据列的个数、使用select_dtypes函数、include参数以及exclude参数按照数据类型筛选数据
- 对float浮动的我的理解,形象生动一点
- C#之windows桌面软件第七课:(下集)串口工具实现数据校验、用灯反应设备状态
- ASP.NET 设计模式中依赖倒置原则
- ES6中的Promise使用方法与总结
- Altium Designer 18/AD 设置禁止布线层和铜皮或者其他线之间的间距
- LeetCode 1784. 检查二进制字符串字段
- html5 页面答题算分,JavaScript实现答题评分功能页面
- 每日Ubuntu小技巧 - 在Ubuntu上面安装VMware Workstation
- 实现简单的List功能
- 前端js代码多文件混淆
- DCMTK3.6.5+cmake3.7.1+VS2017配置过程
- 金蝶kis专业版公网访问_金蝶KIS远程服务器端和远程客户端配置说明
- 搭建p2p文件服务器,p2p服务器搭建
- linux svc作用,[svc]linux性能监控
- html表单站内搜,网站集成百度、Bing必应搜索引擎,在网页中实现站内全文搜索...
- 一个记账易app开发
- Nexus 私服搭建及配置
- echarts自适应大小或改变窗体大小自适应大小与浏览器最大最小化事件
- Typec转HDMI 4K30HZ扩展芯片方案CS5261和CS5266设计参数及电路对比