XRC初步

XRC初步XRC 初步 转自 云雀 的 XRC 初步 上 和 XRC 初步 下 XRC 初步 上 wxPython 中定义用户界面布局可以采用两种方法 传统的方法是将界面布局代码直接写在源文件之中 这种方法不需要学习 XML 语法 概念上较为简单 避免了同时维护多个文件的麻烦 同时

大家好,我是讯享网,很高兴认识大家。

XRC初步

转自:云雀 的 XRC初步(上) 和 XRC初步(下)

XRC初步(上)

wxPython 中定义用户界面布局可以采用两种方法。传统的方法是将界面布局代码直接写在源文件之中,这种方法不需要学习XML语法,概念上较为简单,避免了同时维护多个文件的麻烦;同时,对IDE的自动完成的支持较好。另一种方法则是采用XML资源文件,即XRC(XML Resource)。XRC的基本出发点是界面布局和程序逻辑的分离,即将界面布局代码采用XML的方式放在分离的文件之中;在程序中不涉及控件的创建和布局,只需要加载相应的资源并处理事件绑定即可。在wxPython中采用XRC分离界面布局和程序逻辑主要有以下几个方面的好处:

1. 提高了程序的可维护性
2. 界面布局可由专业人员设计
3. 更好的支持GUI布局设计工具
4. 作为wxWidgets的规范,XRC资源可通用于C++、Python等语言


讯享网

示例                         

使用XRC建立用户界面必须建立两个分离的文件:XML资源文件(.xrc)和python源文件。XRC文件包含了用户界面布局信息,如下例:

#design layout in a separate XML file

<? xml version="1.0" encoding="utf-8"  ?>
< resource >
    
< object  class ="wxFrame"  name ="mainFrame" >
        
< title > My Frame </ title >
        
< object  class ="wxPanel"  name ="panel" >
            
< object  class ="wxFlexGridSizer" >
                
< cols > 2 </ cols >
                
< rows > 3 </ rows >
                
< vgap > 5 </ vgap >
                
< hgap > 5 </ hgap >
                
< object  class ="sizeritem" >
                    
< object  class ="wxStaticText"  name ="label1" >
                        
< label > First name: </ label >
                    
</ object >
                
</ object >
                
< object  class ="sizeritem" >
                    
< object  class ="wxTextCtrl"  name ="text1"   />
                
</ object >
                
< object  class ="sizeritem" >
                    
< object  class ="wxStaticText"  name ="label2" >
                        
< label > Last name: </ label >
                    
</ object >
                
</ object >
                
< object  class ="sizeritem" >
                    
< object  class ="wxTextCtrl"  name ="text2"   />
                
</ object >
                
< object  class ="spacer" >
                    
< size > 0,0 </ size >
                
</ object >
                
< object  class ="sizeritem" >
                    
< object  class ="wxButton"  name ="button" >
                        
< label > Submit </ label >
                    
</ object >
                
</ object >
            
</ object >
        
</ object >
    
</ object >
</ resource >
小讯
上一篇 2025-01-25 14:06
下一篇 2025-01-25 09:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/129030.html