Duilib学习笔记《02》—界面布局_duilib 自绘控件-程序员宅基地

技术标签: 界面库  布局  Duilib学习笔记  duilib  

界面描述XML文件

Duilib主要是通过XML来进行界面的布局配置,程序通过读取并解析XML文件来创建对应的窗体。DuiLib的页面布局分为三类:窗体(Window)、容器(Contain)和控件(Control)。顾名思义窗体就是要创建的窗口,容器则相当于是窗体内的一个子窗体,可以在容器内添加容器或者控件,当然定义的位置也都是相对与容器内的左上顶点;控件就是一些常用的Button、Edit、Label等窗体上的基本元素。
容器经常使用的有VerticalLayout(垂直布局容器)、HorizontalLayout(水平布局容器)、TabLayout(页标签布局容器)、RichEdit(富文本框)、Combo(下拉文本框)、List(列表)
控件经常使用的有Label(标签)、Button(按钮)、Option(选择框)、Edit(文本框)、ScrollBar(滚动条)等等。
首先根节点必须是Window,这个表示窗体,然后在跟节点内可以添加内容。各节点可以添加属性,属性包含 名字、位置、大小、背景色、前景色、背景图片、显示文本、鼠标悬浮提示等等。(注:在duilib中有一份"属性列表.xml"的文件,详细罗列了每个空间对应的属性,方便使用时查阅)


简单空白窗体界面

此处以创建一个简单的空白的灰色背景窗体为例。对应的XML布局文件对应的也就很简单。如下:
<?xml version="1.0" encoding="UTF-8"?>
<Window size="800,600" roundcorner="4,4"> 
    <VerticalLayout bkcolor="#AAA0AAA0"> 
    </VerticalLayout>
</Window>
根据字面意思可以很容易看出XML文件所表示的窗体属性,窗体大小(size)为640X480,窗口圆角大小(roundcorner)为(3,3)等等。
接下来,创建DuilibDemo程序来读取解析该XML文件创建对应的窗体(注:对应的具体实现代码暂不作具体解释,在笔记最后会给出配对的代码方便下载查阅。本节主要是针对XML窗体布局部分,具体代码如何显示后续会具体单独详解),效果如下:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/developer1024/article/details/51526330

智能推荐

安装iso格式的软件安装程序_iso 装载 软件-程序员宅基地

文章浏览阅读1.7k次。安装iso格式的软件安装程序的方法如下两种:方法一:直接百度搜索DAEMON Tools 虚拟光驱软件,下载后并安装,等待完毕后重启一次电脑。开机后,如见到虚拟光驱已正常安装,双击iso文件就能正常挂载。打开我的电脑,并找到光驱类目,就能打开,并安装了。方法二:iso格式已支持解压软件直接解压,你可以通过解压缩的软件,如:winrar,360rar,7z解压等软件直接解压。解压后即可打开安装程序。解压方式是:右键点击iso镜像文件,选择解压缩到(此时选择要存放的路径),选择好后按确定就能开_iso 装载 软件

基于javascript对astar算法的实践(目前未完成,持续更新)_astar.js 平滑算法-程序员宅基地

文章浏览阅读166次。基于javascript对geojson数据格式的地图进行astar算法的实践对于geojson数据格式的处理点处理Astar算法主体处理效果分析对于geojson数据格式的处理pp=JSON.parse(pp) //pp为地图数据console.log(pp);var lineObclo=[];var linecooclo=[]for(i=0;i<pp.features.length;i++) { if(pp.features[i].geometry.type=="Line_astar.js 平滑算法

How To: Make VirtualBox Use Your Router’s DHCP to get an IP Address in Linux_the first address assigned to ipv6 virtual router -程序员宅基地

文章浏览阅读1.6k次。How To: Make VirtualBox Use Your Router’s DHCP to get an IP Address in Linuxhttp://r3dux.org/2009/09/how-to-make-virtualbox-use-your-routers-dhcp-to-get-an-ip-address-in-linux/r3dux | Septembe_the first address assigned to ipv6 virtual router must be link-local address.

ASP.NET中后台数据和前台控件的绑定-程序员宅基地

文章浏览阅读89次。关于ASP.NET中后台数据库和前台的数据控件的绑定问题最近一直在学习个知识点,自己创建了SQLServer数据库表,想在ASP.NET中连接数据库,并把数据库中的数据显示在前台,注意,这里的数据显示不是使用asp.net自带的数据显示控件进行数据的绑定,而是使用开源的数据表格插件DataTables。这样的显示效果要比DataGridView好看的多。下面将详细的过程记录如下,供初...

javascript页面右下角弹出类似QQ或MSN的消息提示-程序员宅基地

文章浏览阅读52次。this.caption= caption; this.message= message; this.target = target; this.action = action; this.width = width?width:200; this.height = height?height:120; this.timeout= 150; this.speed = 20; this.step = 1;

Docker学习笔记 - 构建webapp_docker sinatra-程序员宅基地

文章浏览阅读3.4k次。使用Docker构建并测试Web应用程序使用sinatra作为web框架,redis作为后方的数据库。1.1 创建Sinatra 容器dongli@ubuntu:~/Docker/Sinatra$ cat DockerfileFROM ubuntuMAINTAINER Edgar Li "[email protected]"RUN apt-g_docker sinatra

随便推点

【趣味篇】Scratch之管道马里奥_马里奥scratch游戏-程序员宅基地

文章浏览阅读456次,点赞8次,收藏8次。游戏里的马里奥必须每次踩在管道上。_马里奥scratch游戏

SSM+基于SSM的智慧社区宠物医院 毕业设计-附源码211621_智慧宠物医院系统-程序员宅基地

文章浏览阅读227次,点赞4次,收藏4次。本文以SSM为开发技术,实现了一个智慧社区宠物医院。智慧社区宠物医院的主要使用者分为用户、管理员;管理员功能包括有:首页、取消预约、诊疗项目、科室信息、预约信息、问诊单、检查单、就诊信息、药品、药品管理、明星医生、退款信息等功能。通过这些功能模块的设计,基本上实现了整个智慧社区宠物医院 的过程。具体在系统设计上,采用了SSM的结构,后台上采用Mysql数据库,是一个非常优秀的智慧社区宠物医院 。_智慧宠物医院系统

Java使用FileReader和FileWriter类完成文本文件复制_filewriter+filereader-程序员宅基地

文章浏览阅读575次。1 import java.io.FileReader; 2 import java.io.FileWriter; 3 import java.io.IOException; 4 5 public class CopyFile { 6 public static void main(String[] args) throws IOException { 7 //创建输入流对象 8 FileReader fr=new FileReader("C:\\.._filewriter+filereader

蓝桥杯java第八届第三题--承压计算_蓝桥杯 承压计算 java-程序员宅基地

文章浏览阅读1.3k次。标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 9 2 7_蓝桥杯 承压计算 java

如何使用AWS CLI的S3命令下载数据集_s3://aws-publicdatasets/common-crawl/crawl-002/201-程序员宅基地

文章浏览阅读7.8k次,点赞4次,收藏15次。1. 注册AWS账号需要翻墙,保证翻墙的时候网络稳定。要绑定一张信用卡,没有的话可以去借或者去淘宝租一个,最好自己有。注册完还要短信或者电话认证。2. 添加AWS用户参考网址:如何创建AWS用户3. 安装AWS CLI参考网址:安装AWS CLI安装pip和python选择合适版本的AWS CLI MSI安装(同时安装)验证安装结果C:\> ..._s3://aws-publicdatasets/common-crawl/crawl-002/2010/01/06/10/1262847572760_1

2021-07-10-程序员宅基地

文章浏览阅读49次。有些缺点光靠自己是没法发现的,在自己的眼中我们永远是最完美的。吾日三省吾身,只能发觉一些我自认为的缺点,而真正的缺点只能通过外人指出。旁人在一般情况下,也不会直接指出我的缺点。因为这涉及到别人的处事原则。也只有在别人压抑许久在外物譬如酒精的作用下,才肯说出自己的不满。但这往往会想捅破的窗户纸,关系肯定大不如前。如今我深知我是一个极度自卑的人,没有好看的皮囊,缺乏一定的自信,所以只能通过于比较中,紧紧抓住别的不好的方面来放大通过贬低他人来彰显自己的优越感,这无疑是一个小人之举。为人处世,言行举止,个人品德都值

推荐文章

热门文章

相关标签