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

免费行情软网站百度自媒体注册入口

免费行情软网站,百度自媒体注册入口,网站搭建类型,国家企业信息公示网(广东)说在前面 rust新手,egui没啥找到啥教程,这里自己记录下学习过程环境:windows11 22H2rust版本:rustc 1.71.1egui版本:0.22.0eframe版本:0.22.0上一篇:这里 SidePanel 侧边栏,如下图 …

说在前面

  • rust新手,egui没啥找到啥教程,这里自己记录下学习过程
  • 环境:windows11 22H2
  • rust版本:rustc 1.71.1
  • egui版本:0.22.0
  • eframe版本:0.22.0
  • 上一篇:这里

SidePanel

  • 侧边栏,如下图
    在这里插入图片描述

  • 其定义为:

    pub struct SidePanel {side: Side,id: Id,frame: Option<Frame>,resizable: bool, show_separator_line: bool, // 是否显示边框default_width: f32, // 默认宽度width_range: RangeInclusive<f32>, // 宽度范围
    }
    
  • 通过right()left()方法生成:

    egui::SidePanel::right("panel_name")
    

    方法实现与TopBottomPanel::top()类似:

    pub fn right(id: impl Into<Id>) -> Self {// id需要保证全局唯一Self::new(Side::Right, id)
    }
    

    生成时的默认属性值为:

    pub fn new(side: Side, id: impl Into<Id>) -> Self {Self {side,id: id.into(),frame: None,resizable: true,show_separator_line: true,default_width: 200.0,width_range: 96.0..=f32::INFINITY,}
    }
    
  • 我们可以将app.rs中的egui::SidePanel::left("side_panel")改成right()看下效果:
    在这里插入图片描述

  • 然后让我们来看看SidePanel的其他属性

  • resizable
    默认值为true,效果如下图 (但是为啥会变回去?而且不丝滑)
    在这里插入图片描述
    右侧边栏的效果有点奇怪:
    在这里插入图片描述

    设置为false后,宽度将不可变:

    egui::SidePanel::left("side_panel").resizable(false).show
    

    注意,只有在panel中有一些需要占用空间的元素时,resizable才有效,例如只保留:

    egui::SidePanel::left("side_panel").default_width(100.0).show(ctx, |ui| {ui.heading("Side Panel");      
    });
    

    这个时候其实无法拖拽边框:
    在这里插入图片描述

  • show_separator_line
    默认值为true,修改为false后的表现为:

    egui::SidePanel::right("side_panel").show_separator_line(false).show(
    

    在这里插入图片描述
    效果不是很明显,因为CentralPanel也有边框,并且没找到方法去掉

  • default_width
    默认值200.0,可通过default_width()方法进行修改:

    pub fn default_width(mut self, default_width: f32) -> Self {// 修改self.default_widthself.default_width = default_width; // 依照default_width调整self.width_range// 例如default_width为200,那么结果依旧为96~inf// 例如default_width为80,那么结果为80~infself.width_range = self.width_range.start().at_most(default_width)..=self.width_range.end().at_least(default_width);self
    }
    

    (但是实际上没有用,不知道为啥)

Ui::heading()

  • 大号的文字,标题
    /// Show large text.
    ///
    /// Shortcut for `ui.label(RichText::new(text).heading())`
    pub fn heading(&mut self, text: impl Into<RichText>) -> Response {Label::new(text.into().heading()).ui(self)
    }
    
  • 我们也可以使用ui.label(RichText::new(text).heading())来自定义,例如:
    ui.label(egui::widget_text::RichText::new("Side Panel").heading().color(Color32::GREEN));
    
    在这里插入图片描述

CentralPanel

  • 主面板(panel),窗口中未被其他panel占用的部分。
  • CentralPanel必须在其他panel之后添加。否则其他panel将会覆盖CentralPanel
  • 以下是CentralPanelSidePanel之前添加的效果,可以看到有部分元素被挡住了:
    在这里插入图片描述
  • 可以看看不加CentralPanel的效果:
    在这里插入图片描述
  • CentralPanel没有可以自定义的属性

Panel之间的布局

  • 目前来看,eguipanel有三种:CentralSideTopBottom

  • panel的添加顺序是非常重要的,先添加的在最外层,后添加的在内层

  • 例如,在我们的template中,添加顺序是TopBottomSideCentral,其结果是:
    在这里插入图片描述

  • 如果改为SideTopBottomCentral,其结果为:
    在这里插入图片描述

  • 同时,一个窗口中panel可以不止3个,例如我们可以这样添加:TopBottomSideTopBottomCentral
    在这里插入图片描述

  • 如果想要将sidepanel拆分为上下两部分,是否可以实现,怎样实现呢?这部分留着后面探讨。

参考

  • richtext
  • sidepanel
  • centralpanel
http://www.shuangfujiaoyu.com/news/25829.html

相关文章:

  • 都匀经济开发区建设局网站好搜搜索引擎
  • 关于推进政府网站集约化建设的报告seo培训讲师招聘
  • 赚钱网站怎么做免费的网站域名查询
  • 成都网站开发scwbo已矣seo排名点击软件
  • 网站开发与设计的参考文献网站推广常用方法
  • 专业网站建设制作公司seo软件排行榜前十名
  • 地方门户类网站产品推广seo详细教程
  • 做网站多少钱 佛山太原优化排名推广
  • 做网站多少钱西宁君博专注同城推广
  • 个人网站怎么做银行卡支付宝java培训
  • 软件网站排名网络促销方案
  • 互联网公司岗位有哪些企业网站seo优化外包
  • 做时时彩网站平台免费入驻的电商平台
  • 快速做网站关键词排名公司网络推广方案
  • 接app推广接单平台需要优化的网站有哪些
  • 比较好的做网站公司人民日报今日头条新闻
  • 做类似淘宝网站怎么做seo引擎搜索网站
  • 网站标题怎么做链接nba最新新闻
  • 如何提高网站打开速度想在百度做推广怎么做
  • 炫彩发光字制作搜索引擎优化培训中心
  • 地方政府如何建设政府网站互联网营销公司
  • 网页与网站的区别和关系六年级下册数学优化设计答案
  • 微信支付 网站建设最近三天的新闻大事简短
  • 在哪里可以做网站营销型网站名词解释
  • 个人免费网站seo标题关键词优化
  • 有做电动车修车的网站吗注册城乡规划师
  • 重庆如何快速制作一个网站网络销售工作靠谱吗
  • 网站关键词做排名不分沪深300指数基金
  • dz做网站按效果付费的推广
  • wordpress+免费博客自动优化app