Skip to content

eterevsky/vui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vui

vui is a cross-platform GUI framwork, built on top of Pyglet. It is currently in early stage of development. The aim is to build a simple pythonic API that could be used to build UI apps and games.

The framework is built around the hierarchy of UI elements represented by classes inheriting from View. A view class can be attached to a (single) Pane object. Pane is a simple class representing a rectangular area in the window. This class also plays the role of host for mouse events.

Some of the views can contain other views. Such views are called "layouts". A layout class is a View that contains the logic of subdiving its pane into panes for its children.

Various UI classes are glued together with Observable values and attributes. Functions and methods can be registed as listeners to an observable value. These listeners are called whenever the value is changed. Most attributes of UI values are observable, including pane dimentions, mouse position and so on.

In addition to Observable vui makes use of events module forked from Pyglet events. As a rule, whenever an event can be thought about as changes of some value, it should be represented as Observable. But some events like on_draw don't fit this model and are represented as events.

TODO: https://eugenkiss.github.io/7guis/tasks/

About

GUI framework in pure Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages