Circular (Oval like) button using canvas in kivy (using .kv file) Last Updated : 19 Jan, 2022 Comments Improve Suggest changes Like Article Like Report Kivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications.In this article we will going to learn about how can we create a rounded or circular button in kivy using canvas. You must have a very clear concept of canvas, button and their properties to learn how can you make buttons like this. As we know canvas is the root object used for drawing by a Widget. Each Widget in Kivy already has a Canvas by default. When you create a widget, you can create all the instructions needed for drawing. To use canvas you must have to import the graphics in your file. from kivy.graphics import Rectangle, Color Some important properties used in this article - border : 1) Border used for BorderImage graphics instruction. Used with background_normal and background_down. Can be used for custom backgrounds. 2) It must be a list of four values: (bottom, right, top, left). 3) border is a ListProperty and defaults to (16, 16, 16, 16)Button behavior : 1) The Button Behavior mix in class provides Button behavior. 2) You can combine this class with other widgets, such as an Image, to provide alternative buttons that preserve Kivy button behavior. Basic Approach - -> import kivy -> import kivy App -> import widget -> import Canvas i.e.: from kivy.graphics import Rectangle, Color -> set minimum version(optional) -> Extend the Widget class -> Create the App Class -> create the .kv file: -> create the button using the canvas -> Use border property to give them a circular shape. -> Add action/callback if needed -> return a Widget -> Run an instance of the class Kivy Tutorial – Learn Kivy with Examples Implementation of the Approachmain.py Python3 ## Sample Python application demonstrating the ## working of canvas with buttonbehaviour i.e ## creating a circular button in Kivy using .kv file ################################################### # import kivy module import kivy # this restrict the kivy version i.e # below this kivy version you cannot # use the app or software kivy.require("1.9.1") # base Class of your App inherits from the App class. # app:always refers to the instance of your application from kivy.app import App # From graphics module we are importing # Rectangle and Color as they are # basic building of canvas. from kivy.graphics import Rectangle, Color # The ButtonBehavior mixin class provides Button behavior. from kivy.uix.button import ButtonBehavior # The Label widget is for rendering text. from kivy.uix.label import Label # class in which we are creating the canvas class CircularButton(ButtonBehavior, Label): pass # Create the App Class class BtnApp(App): def build(self): return CircularButton() # run the App BtnApp().run() .kv file Python3 # .kv file of creating a circular button using canvas <CircularButton>: # Creating Circular button canvas: # Color is different if button is pressed Color: rgb: (0, 1, 0, 1) if self.state == 'normal' else (1, 0, 1, 1) # Rounded rectangle canvas RoundedRectangle: # Giving the size and the position size: (self.size) pos: (self.pos) # This will force the rectangle to be the circle radius: [400, ] # Print the text when touched or button pressed on_release: print("This is the button made up by the canvas") Output: Note: Widgets are still rectangles. That means that even if you click on the rounded corners, the button still receive the event. Comment More infoAdvertise with us Next Article How to Create Bottom Navigation using Kivymd and Python Y YashKhandelwal8 Follow Improve Article Tags : Python Python-gui Python-kivy Practice Tags : python Similar Reads Kivy Tutorial Kivy is an opensource Python library that allows you to develop multi-platform graphical user interface applications on Windows, macOS, Android, iOS, Linux, and Raspberry-Pi. In addition to regular mouse and keyboard inputs, it supports multitouch events. Applications made using Kivy will appear sim 3 min read Introduction to KivyIntroduction to Kivy ; A Cross-platform Python FrameworkKivy is an open-source, cross-platform Python framework used for developing multi-touch applications with a natural user interface. It allows developers to build applications that run on multiple platforms, including Windows, macOS, Linux, iOS, and Android. Kivy is based on the Model-View-Controller 4 min read Creating your first application using KivyPrerequisites: Introduction to Kivy, Hello World in Kivy Kivymd is graphical user interface library in python based on kivy that allows you to develop multi-platform applications on Windows, MacOS, Android, iOS, Linux, and Raspberry Pi. The best thing about kivy is, it performs better than HTML5 cro 2 min read Kivy WidgetsPython | Add Label to a kivy windowKivy is a platform-independent GUI tool in Python. As it can be run on Android, iOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications.Label widget - The Label widget is for rendering text. It support 4 min read Python | Textinput widget in kivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Tex 3 min read Python | Checkbox widget in KivyKivy is a platform independent GUI tool in Python. Kivy applications can be run on Android, IOS, linux, and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications. Kivy Tutorial - Learn Kivy with Examples. Checkbox 4 min read Python | Dropdown list in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. Dropdown list 3 min read Python | Window size Adjustment in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. Kivy provides you the functionality to write the code for once and run it on different platforms. It is basically used to develop the Android application, but it does not mean that it can not 4 min read Python | Scrollview widget in kivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux, and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications.  Kivy Tutorial - Learn Kivy with Examples. Scroll view: The Scr 3 min read Python | Carousel Widget In KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Car 3 min read Python | BoxLayout widget in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. Now in this 5 min read Python | Slider widget in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. Slider: To w 4 min read Python | Add image widget in KivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications. ?? Kivy Tutorial - Learn Kivy with Examples. Image Widget: The I 4 min read Python | Popup widget in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Pop 6 min read Python | Switch widget in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. Switch widget 5 min read Python | Spinner widget in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Spi 5 min read Python | Progress Bar widget in kivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Pro 4 min read Python | Bubble in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Bub 3 min read Python | Tabbed panel in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Tabb 2 min read Python | Scatter in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Sca 3 min read How to use multiple UX Widgets in kivy | PythonKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. UX Widgets: C 3 min read ButtonsPython | Working with buttons in KivyKivy is a platform-independent GUI tool in Python as it can be run on Android, IOS, Linux Windows, etc. Kivy provides you the functionality to write the code for once and run it on different platforms. It is basically used to develop the Android application, but it does not mean that it can not be u 5 min read Python | Button Action in KivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications. ???????? Kivy Tutorial - Learn Kivy with Examples. Now in this a 3 min read Change button Color in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. In this article, we will learn about how to change the button c 3 min read Change the size and position of button in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications.In this article, we will see that how can we can change the size 4 min read Python - Rounding button corners in kivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications. In this article we will be going to learn how to round the butto 4 min read Disable Kivy ButtonIn this article, we will learn how to disable a button in kivy, there are some places where we need to disable the buttons So in this article you will learn how to do that. Kivy Tutorial â Learn Kivy with Examples. The Button is a Label with associated actions that are triggered when the button is p 3 min read Text Input box with a verification button in kivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. In this article we will learn how we can add a button with the T 3 min read Use image as a button in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. As we have discussed earlier that how to work with images and no 5 min read LayoutsPython | Float Layout in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ?? Kivy Tutorial - Learn Kivy with Examples. FloatLayout: Floatl 5 min read GridLayouts in Kivy | PythonKivy is a platform independent as it can be run on Android, IOS, Linux and Windows, etc. Kivy provides you the functionality to write the code for once and run it on different platforms. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop 3 min read Python | StackLayout in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples.  StackLayou 3 min read Python| AnchorLayout in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. 👉🏽 Kivy Tutorial - Learn Kivy with Examples. Anc 3 min read Python | Relative Layout in KivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications. Kivy Tutorial - Learn Kivy with Examples. Relative Layout:Relat 5 min read Python | PageLayout in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux, and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Kivy Tutorial - Learn Kivy with Examples. PageLayout: The Page 4 min read Python | Layouts in layouts (Multiple Layouts) in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications.In this article, we are going to discuss how we can use layouts i 5 min read Graphics and AnimationPython | Animation in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ?? Kivy Tutorial - Learn Kivy with Examples.Animation: Animatio 2 min read Python | Animation in Kivy using .kv fileKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, Linux, and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Animation: Animation and AnimationTransition are used to anima 3 min read Animated Floating Action Button in kivy - PythonKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications.In this article we will learn about how can we Add the Animation 4 min read Python | Line (Canvas) in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux, and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Kivy Tutorial - Learn Kivy with Examples. Line canvas: Line is 4 min read Python | Canvas in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. Canvas: The 4 min read Python | Ellipse (different polygons) in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Kivy Tutorial - Learn Kivy with Examples. Ellipse: Ellipse is a 4 min read Circular (Oval like) button using canvas in kivy (using .kv file)Kivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications.In this article we will going to learn about how can we create a 3 min read User Interfaces and NavigationHow to Create Bottom Navigation using Kivymd and PythonIn this article, we will see how to add the Bottom Navigation in our application using KivyMD in Python. Installation: To install this module type the below command in the terminal. pip install kivy pip install kivymd MDBottomNavigation Method:  Bottom navigation is used to navigate from one screen 5 min read Python | ScreenManager in Kivy using .kv fileKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ScreenManager widget : The screen manager is a widget which is 6 min read File I/O and MultimediaPython | Adding image in Kivy using .kv fileKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux, and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Kivy Tutorial - Learn Kivy with Examples. Image Widget: The Im 4 min read Python - Add audio files in kivyKivy is a platform independent GUI tool in Python. Kivy is a tool used to build cross-platform applications in Python which can run on android, IOS, Linux, Windows. Audio Widget: This module is used to load audio files in kivy. from kivy.core.audio import SoundLoader Below is the code on how you can 1 min read Applications and ProjectsPython | Make a simple window using kivyKivy is a platform independent as it can be run on Android, IOS, linux and Windows etc. Kivy provides you the functionality to write the code for once and run it on different platforms. It is basically used to develop the Android application, but it Does not mean that it can not be used on Desktops 5 min read Python | Vkeyboard (virtual keyboard) in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Vkeyboard: VKeyboard is an onscreen keyboard for Kivy. Its opera 2 min read Python | Multiple Sliders widgets Controlling Background Screen or WindowColor in KivyPrerequisite - Slider in KivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications.In this article, we will learn How w 3 min read Python | How to use Multiple kv files in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. In this article, we will see how can we use multiple .kv files i 3 min read Python | Accordion in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Kivy Tutorial - Learn Kivy with Examples. Accordion: The Accordi 3 min read Python | Accordion in kivy using .kv fileKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. Accordion: Th 2 min read Python | Creating a Simple Drawing App in kivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications. Kivy Tutorial - Learn Kivy with Examples. Drawing App: In this w 4 min read Python | File chooser in kivyKivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux, and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. Kivy Tutorial - Learn Kivy with Examples. Filechooser: The Fil 2 min read How to make calculator using kivy | PythonKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications. ???????? Kivy Tutorial - Learn Kivy with Examples. In this artic 3 min read Python | Create a stopwatch using clock object in kivy using .kv fileKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications. Kivy Tutorial - Learn Kivy with Examples. Clock Object: The Cloc 6 min read Python | Create a stopwatch Using Clock Object in kivyKivy is a platform-independent GUI tool in Python. As it can be run on Android, IOS, Linux and Windows, etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktop applications.In this, we are going to see how can we create a stopwatch using 4 min read Like