Metadata-Version: 2.1
Name: tkmacosx
Version: 0.0.2
Summary: Tkmacosx is a Python library extension to Tkinter module for macOS
Home-page: https://github.com/Saadmairaj/tkmacosx
Author: Saad Mairaj
Author-email: Saadmairaj@yahoo.in
License: Apache
Description: # tkmacosx
        
        This mmodule provides some modified widgets of Tkinter which work better on macOS and some more useful functions and classes as well. For example Button of tkmacosx which looks and feels exalty like a native tkinter button can change its *background* and *foreground* colors.
        
        ## Installation
        
            $ pip install tkmacosx
        
        ## Usage
        
            from tkinter import *
            from tkmacosx import SFrame, Button
        
            root = Tk()
            frame = SFrame(root, bg='pink')
            frame.pack()
        
            for i in range(50):
                b = Button(frame, text='Button %s'%i, borderless=1)
                b.pack()
        
            root.mainloop()
        
        
        ## Demonstration
        
            $ python -m tkmacosx
        
        
        ## Widgets
        
        
        ### Button Widget
        
        The tkmacosx `Button` widget is similar to defualt tkinter `Button` but supports all arguments of on a macos including some extra features. 
        
         - **Argument:**
         
            Modifies one or more widget options. If no options are given, the method returns a dictionary containing all current option values. All the options are pretty much the same as Tkinter [Button](https://effbot.org/tkinterbook/button.htm). Here are the extra options of tkmacosx Button.
         
            * `activebackground`: Background color to use when the button is active. Give tuple of two colors for gradient effect in active background.
            * `activeimage`: Image to use when the button is active.
            * `activebitmap`: Bitmap to use when the button is active.
            * `bordercolor`: The color of the button border.
            * `borderless`: Blend the button with it's parent's background results in a clean look with no square borders. It will change color automatically.
            * `disabledbackground`: The color to use when the button is disabled.
         
         - **Usage:**
                
                from tkinter import *
                from tkmacosx import Button
                
                root = Tk()
           
                B1 = Button(root, text='Mac OSX', bg='lightblue', fg='yellow', borderless=1)
                B1.pack()
               
                root.mainloop()
            
            
        ### SFrame Widget
        
        The tkmacosx `SFrame` widget is just like a tkinter Frame but vertically scrollable.
        
         - **Arguments:**
        
            Modifies one or more widget options. If no options are given, the method returns a dictionary containing all current option values. All the options are pretty much the same as Tkinter [Frame](https://effbot.org/tkinterbook/frame.htm). Here are the extra options of tkmacosx SFrame.
            
            * `scrollbarwidth`: Set the width of scrollbar.
            * `mousewheel`: Set mousewheel scrolling.
          
         - **Usage:**
        
                  from tkinter import *
                  from tkmacosx import SFrame
                  
                  root = Tk()
                  frame = SFrame(root, bg='pink')
                  frame.pack()
                  
                  for i in range(50):
                      Button(frame, text='Button %s'%i).pack()
                  
                  root.mainloop()
        
        
        ## Variables
        
        ### ColorVar Variable
        
        ColorVar of tkmacosx set same color to each widget it is assigned to. As ColorVar is a tkinter variable wrapper so it will change the color of widgets whenever the change is made to ColorVar instances. ColorVar takes HEX values or all the color names which tkinter supports and the `get()` method returns only the HEX value. It will work with all of the following keyword arguments of diffenert widgets. ***'fg', 'foreground', 'bg', 'background', 'activebackground', 'activeforeground', 'disabledforeground', 'highlightbackground', 'highlightcolor', 'selectforeground', 'readonlybackground', 'selectbackground', 'insertbackground', 'disabledbackground'*** *(might work with more but have not tested).*
          
         - **Usage:**
            
                from tkinter import Tk, Label
                from tkmacosx import colors, ColorVar
                
                root = Tk()
                root.geometry('100x100')
                
                color = ColorVar()
                color_list = list(colors.OrderedHex)
                L = Label(root, textvariable=color, bg=color)
                L.place(relx=0.5, rely=0.5, anchor='center')
                
                def change_color(c=0):
                    if c >= len(color_list): c=0
                    color.set(color_list[c])
                    root.after(70, change_color, c+1)
                    
                change_color()
                root.mainloop()
        
        ### DictVar Variable
        
        DictVar of tkmacosx stores python dictionary. It is very similar to tkinter `StringVar` with few modifications to it. `DictVar.get()` returns an instance of `dict` type whereas StringVar returns `str` type also DictVar method `get()` is a bit different `get(key=None, d=None)` get a key from `get()` method if `key=None` it will return the complete dictionary.
        
         - **Usage:**
          
                 from tkinter import *
                 from tkmacosx import DictVar
        
                 root = Tk()
                 dictionary = DictVar(value = {'width': 100, 'height': 200})
        
                 print(type(dictionary.get()))
                 print(dictionary.get())
                 print(dictionary.get('width'))
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Environment :: MacOS X
Description-Content-Type: text/markdown
