Menu

Home

cloudherder
Attachments
file0002.jpg (99444 bytes)
file0003.jpg (99035 bytes)
file0004.jpg (131855 bytes)
file0005.jpg (130215 bytes)

wxOneShell帮助--wxOneShell Help

中文版

English Version

    wxOneShell是一个快速开发wxPython SDI程序的框架,wxOneShell的设计 目的,是将程序设计中图像界面的例行功能隔离出来,只用ini文件配置即可完成 Logo屏幕、多面板切换的界面、侧边栏、自动生成菜单和工具条、定义热键、任务条图标 菜单、多语言切 换、控制不同面板的显示等功能,并能辅助界面设计和 保存设置。

    wxOneShell的基本原理是,由wxOneShell.py负责生成图形界面,由ui目 录中的构件负责数据 的显示,而由fs目录中的控制模块控制不同显示数据之间 的操作。

    WxOneShell is a framework for rapid development of wxPython SDI program, wxOneShell is designed, is to isolate the routine function of programming a graphical interface, using ini files configuration generate splash screen, switch mulit-panel ,sidebar,menus and toolbar ,widgets and its hotkey denfine, task bar button menu, and switch multi-language , collect those string to be translated, control panels display etc., and auxiliary interface design and save your settings.

    The Basic principle of wxOneShell is, wxOneShell.py is responsible for generating a graphical interface, components in the directory ui\ are responsible data viwe, and controlled the operations between different data views by control module in fs\ directory .

屏幕快照1

Screen snapshot 1

注意:顶部工具栏部分是部分菜单项的支持类型,更多请看快照2

Note: widgets in toolbar is some menu item types, see snapshot 2 for more.

屏幕快照2

Screen Snapshot 2

*提示:

1.任务条菜单对应主菜单

2.选项菜单是用不同菜单类型制作好的功能构件,可以帮助你制作新程序。

*Note: 

1.Task menu correspond to the main menu

2.The Option menu is already making the function widget well by different menu types, It can help you make a new program.

1.wxOneShell的目录结构

Directory structue of wxOneShell

目录[Directory]

文件[File]

说明

Description

.\

安装目录

Install Directory

wxOneShell.py

主程序。不要编辑。

Main program,Don't edit

wxOneShell.gif

主程序图标

Icon of main program

wxOneShell.ini

界面布局配置文件。定义主界面的参数和不同面 板包含的显示构件,面板的主从关系等

Interface layout profile. Define interface parameters and display panel contains the component, Panel of the master-slave relationship

WxOneShell-ini.py

生成的布局配置py文件,用以保护程序的布局配 置。(可选)

The py file for interface layout profile by generated,use to protect the program profie.(optional)

wxOneShell.jpg

主程序Logo图像文件(可选)

Logo file of main program(optional)

fs\

控制模块目录

Directory of control module

SampleUI.py

控制模块示例

Example of control module

SampleUI.ini

控制模块的设置文件。设置布局构件的大小, 动态隐藏的面板,使用的语言,用户接口信息 等。

Control module configuration file. Setting the size of widgets, hidden settings panel, the language used, and user interface information

SampleUI.mnu

菜单定义文件

The file that define menu

SampleUI-mnu.py

生成菜单py文件,用以保护菜单配置(可选)。

The py file for menu by generated,use to protect the menu setting.(optional)

fs\SampleUI_EXT\

控制模块的目录
The directory for Control module

fs\SampleUI_EXT\lang

控制模块的多语言翻译文件目录

The translation file directory for Control module

Chinese (Simplified).lang         

语言翻译文件(可选)

Language translation files (optional)

English.lang

语言翻译文件(可选)

Language translation files (optional)

functions\

函数模块文件目录

Function module file directory

Languages.py

语言代码对照字典

Language code dictionary

ToolFuncs.py

基本函数文件

Basic Function file

UserFuncs.py

用户自定义函数文件

User-defined functions file

UserFuncs1.py用户自定义函数文件1User-defined functions file 1

images\

图像存放目录

Images Directory

Exit.png

用户图标

User's Icon

OneModules\

wxOneShell基本构件目录

Directory of basic components of wxOneShell

IconsLib.py

内置图标库

Built-in icon library

OneConfig.py

ini文件处理模块

Ini file handling module

OneImages.py图像处理模块Images handling module

OneMasterPanel.py

面板模块

Panel module

OnePanel.py

wxOneShell数据显示固定构件的祖先类模块

ancestor classes module of wxOneShell shows data in a fixed component

OneScrolledPanel.pywxOneShell数据显示滚动构件的祖先类模块ancestor classes module of wxOneShell shows data in a scrollable component

OneUI.py

用户fs模块的祖先类模块

ancestor classes module of user's fs module


.........

ui\

用户自定义构件目录

Directory of User-defined component

SimplePanel.py

构件简单示例文件

Simple example of component

ScrolledPanel.py

滚动构件示例文件

Simple example of scrollable component

modules\用户自定义模块目录Directory of User-defined modules

HotKey.py

HotKey模块

HotKey module

help\

帮助文件目录

Directory of help file

wxOnShell-help.html本文件

This file

license\

版权声明文件目录

Directory of license

license.txt

lgpl-2.1(include cn version).txt

2.快速开始

2.Quick Start

2.1. 最小的例子

2.1Minimum example

只需要写8行代码

It only need 8 lines code

2.1.1 SimplePanel.py

import OnePanel

class SimplePanel(OnePanel.OnePanel):

    def init(self, parent, top,id, pos, size, style, name):

        OnePanel.OnePanel.init(self, id=id, name=name,parent=parent,top=top,pos=pos, size=size,style=style)

 

2.1.2 SampleUI.py

import OneUI

class SampleUI(OneUI.OneUI):

    def init(self):

       OneUI.OneUI.init(self)

 

2.1.3SimplePanel.py文件放到ui\目录,SampleUI.py放到fs\ 目录。

2.1.3Put SimplePanel.py to ui\,and put SampleUI.py to fs.

2.1.4编写wxOneShell.ini文件,放到程序根目录。

2.1.4 Edit the file wxOneShell.ini,and put it to directory of the program.

CopyrightPerson=Oneask
CopyrightYear=(C) 2015
Description=a SDI frame for develop wxPython program rapidly
Developers=oneask@gmail.com,cloudherder@126.com
HelpFile=%InstallPath%\help\wxOneShell-help.htm
LicenseFile=%InstallPath%\license\license.txt
ProgramName=wxOneShell
Version=1.0
WebSiteHyperlink=https://github.com/cloudherder/wxOneShell
WebSiteName=wxOneShell GitHub Site

MasterPane=Viewer
PanelPages=8
Role=Master,Slave,Viewer,Other,ToolFlatBar,ToolListBar,ToolFoldBar,ToolBar
StatusBarFieldCount=5
StatusBarWidths=60,-1,200,100,100

CanClose=
Caption=
CaptionVisible=
Direction=0
DockSide=Top
FloatPosition=
FsType=SampleUI
HidenRemainWidth=
InfoForCreate=.CaptionVisible(0).Resizable(1).MaximizeButton(1).MinimizeButton(1).CloseButton(0).BestSize((320,50)).MinSize((-1,50))
InfoForUpdate=.Center().Row(0).Layer(1).Position(1)
PanelStyle=0
Style=MasterBar
Panel1_PageCloseButton=1
Panel1_TabFixed=
Panel1_TabPosition=
Panel1_TabStyle=2
Panel2_PageCloseButton=1
Panel2_TabFixed=
Panel2_TabPosition=
Panel2_TabStyle=3

CanClose=
Caption=
CaptionVisible=
Direction=1
DockSide=Bottom
FloatPosition=
FsType=
HidenRemainWidth=
InfoForCreate=.CaptionVisible(0).Resizable(1).MaximizeButton(1).MinimizeButton(0).CloseButton(0).BestSize((-1,50)).MinSize((-1,50)).Direction(1)
InfoForUpdate=.Bottom().Row(0).Layer(1).Position(2)
PanelStyle=0
Style=Master2Panel
Panel1_PageCloseButton=1
Panel1_TabFixed=
Panel1_TabPosition=
Panel1_TabStyle=
Panel2_PageCloseButton=1
Panel2_TabFixed=
Panel2_TabPosition=
Panel2_TabStyle=0

CanClose=
Caption=Right Panel
CaptionVisible=
Direction=1
DockSide=Right
FloatPosition=
FsType=
HidenRemainWidth=
InfoForCreate=.CaptionVisible(0).Resizable(1).MaximizeButton(0).MinimizeButton(1).CloseButton(0).BestSize((320,50)).MinSize((-1,50)).Direction(1)
InfoForUpdate=.Right().Row(0).Layer(0).Position(0)
PanelStyle=0
Panel1_PageCloseButton=1
Panel1_TabFixed=
Panel1_TabPosition=Bottom
Panel1_TabStyle=5
Panel2_PageCloseButton=1
Panel2_TabFixed=
Panel2_TabPosition=Bottom
Panel2_TabStyle=3
Style=MasterBar

BorderStyle=4
CanClose=
Caption=
CaptionVisible=
Direction=1
DockSide=Bottom
FloatPosition=
HidenRemainWidth=
InfoForCreate=.CaptionVisible(0).BottomDockable(1).CloseButton(0).MinimizeButton(0).BestSize((700,45)).MinSize((-1,45)).Direction(1)
InfoForUpdate=.Bottom().Row(1).Layer(3).Position(1)
PanelStyle=0
Style=SideBar
TabPosition=
TabStyle=2
Scrollable=0
ToolStyle=FlatBook

BorderStyle=4
CanClose=
Caption=
CaptionVisible=
Direction=1
DockSide=Left-Top
FloatPosition=
HidenRemainWidth=
InfoForCreate=.CaptionVisible(0).TopDockable(1).CloseButton(0).MinimizeButton(0).BestSize((800,130)).MinSize((-1,20)).Direction(1)
InfoForUpdate=.Top().Row(0).Layer(1).Position(0)
PanelStyle=0
ToolStyle=FlatBook
Style=SideBar
TabPosition=
TabStyle=3

BorderStyle=4
CanClose=1
Caption=
CaptionVisible=
Direction=1
FloatPosition=10,300
HidenRemainWidth=
InfoForCreate=.CaptionVisible(0).CloseButton(1).MinimizeButton(0).BestSize((200,130)).MinSize((-1,20))
InfoForUpdate=.Top().Row(0).Layer(1).Position(0)
PanelStyle=0
Style=FoldBar
TabPosition=
TabStyle=

BorderStyle=4
CanClose=1
Caption=
CaptionVisible=
Direction=1
FloatPosition=1000,50
HidenRemainWidth=
InfoForCreate=.CaptionVisible(0).CloseButton(1).MinimizeButton(0).BestSize((150,130)).MinSize((-1,20))
InfoForUpdate=.Top().Row(0).Layer(1).Position(0)
PanelStyle=0
Style=ListBook
TabPosition=Right
TabStyle=

CanClose=
Caption=Left Panel
CaptionVisible=
Direction=1
DockSide=Left
FloatPosition=
FsType=
HidenRemainWidth=00
InfoForCreate=.CaptionVisible(0).Resizable(1).MaximizeButton(1).MinimizeButton(1).CloseButton(0).BestSize((320,50)).MinSize((-1,50)).Direction(1)
InfoForUpdate=.Left().Row(0).Layer(1).Position(0)
Panel1_PageCloseButton=1
Panel1_TabFixed=
Panel1_TabPosition=Left
Panel1_TabStyle=1
Panel2_PageCloseButton=1
Panel2_TabFixed=
Panel2_TabPosition=
Panel2_TabStyle=2
PanelStyle=0
Style=MasterBar

2.1.5 运行wxOneShell.py

2.1.5 Run wxOneShell.py

python wxOneShell.py

可得下图

python wxOneShell.py

You will see the UI as following:

*注意:此处是使用了系统默认的fs模块ini参数运行程序,当模块ini文件(此处是Sample.ini)不存在时,会自动生成这一文件。

*Note:This is to use the ini parameter by system default  for fs modules  to run the program , when the ini file for the module(Sample.ini in here) is not exists, this file will be automatically generated.