Coder Social home page Coder Social logo

visipy's Introduction

Visipy - A Tkinter Widget-Templater/GUI Builder for Python

example

Installation
  • git clone the project or go get github.com/rootVIII/visipy/visipy
  • run: go run visipy.go
  • build: go build visipy.go
  • If you don't have Golang installed or don't want to build the exe yourself, check the bin/ for Ubuntu and Mac builds
  • Mac OS Build not tested yet-UI may need adjustments
  • Check the Windows repository for the Windows 10 version
Requirements
  • Python3 (must also be in your path)
  • sudo apt-get install python3-tk(Linux only)
  • Internet connection (only at application start-up)
  • Linux, Windows10, or Mac OS (Not yet tested on Mac)
  • If building the project yourself, Go 1.12 or higher is required
Youtube Demo
Visipy Features
  • Allow for rapid creation of a single Class, utilizing Tk() init and N widgets
  • Easy Tkinter widget creation, styling, and editing
  • Allow for easy, visual manipulation of the Tk grid() geometry manager
  • Run your project with the press of a button at any time to view changes
  • See the current codebase change as widgets are added, edited, or removed
  • After templating/GUI building, it's up to you to finish the program (action handlers, fine-tuning etc.) in your own code editor
Widgets
  • While Visipy doesn't offer all of the Tk widgets and Tk widget attributes, it does include a large portion of them
  • Visipy will template an entire initializer, along with any method names for Tk widgets that have the command option
  • Work with the following widgets and features:
    • Button
    • Checkbutton
    • Entry
    • Image
    • Label
    • Listbox
    • Radiobutton
    • Scale
    • Spinbox
    • Text
    • Overall App Dimensions
    • Overall App Theme
    • Overall App Color
    • Window Bar Menus
    • 16x16 icon.png
End Result
  • A runnable, Python3 Tkinter GUI (pycodestyle valid unless really long path names are used etc.)
  • Method placeholders for TODO/Action handling (such as a Button's associated command)
  • The current build/code can be written to disk any time
  • A JSON representation is also available - used to reload the project for later editing
Things to Note:
  • Values in Visipy's GUI that are left blank, or with a value of -1 will be ignored.
  • Most widgets require a minimum of the row and col attributes to be added into the code-build.
  • The current GUI build can be written to a .py file at any time with the Write to File option
  • A .project file (JSON) will also be created in the same directory as your .py file
  • The .project file may be discarded or saved to reload the project later to continue working on the same project (do not edit the JSON file)
  • The current build/GUI should be runnable at all times, easing the creation of your application
  • This does not mean however that your app is going to look as intended
  • The following link describes many widgets, and their available attributes: tkinter book
  • If you are unsure what to put for a widget's attribute, put any value and try running Update; allowable values will be suggested for you if something invalid is found
  • Hitting the run button after each widget addition, edit, or removal is a good way to double-check your GUI along with examining the current build window each time code is updated

This project was developed on Ubuntu 18.04.4 LTS

visipy's People

Contributors

rootviii avatar

Stargazers

 avatar Xtra IO PUrE avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.