Python | Window size Adjustment in Kivy

Kivy 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 be used on Desktops applications.

Kivy is that platform where the size does not matter a lot as it is self-adjusting accordingly but What if we want to fix the size to some extent whether its hight wise or width wise or free from boundation depends on the user requirement.

In this article, we are going to see three formats of resizing the window size in kivy.



Note: Just note the size in the outputs of the window and check the minimize and maximize button on window when it is visible or when not visible.

For resizing window we have:

from kivy.config import Config

Kivy has a configuration file which determines the default settings. In order to change these settings, you can alter this file manually or use the Config object.
Configuration options control the initialization of the App. In order to avoid situations where the config settings do not work or are not applied before window creation (like setting an initial window size), Config.set should be used before importing any other Kivy modules. Ideally, this means setting them right at the start of your main.py script.

When there is no fix window size i.e fully resizable according to user:

filter_none

edit
close

play_arrow

link
brightness_4
code

# To change the kivy default settings
# we use this module config
from kivy.config import Config
  
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', True)
  
# import kivy module
import kivy
  
# this restrict the kivy version i.e
# below this kivy version you cannot use the app
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
  
# if you not import label and use it through error
from kivy.uix.label import Label
  
# defining the App class
class MyLabelApp(App):
    def build(self):
        # label disply the text on screen 
        # markup text with different colour
        l2 = Label(text ="[color = ff3333][b]Hello !!!!!!!!!!![/b]
                   [/color]\n [color = 3333ff]GFG !!:):):):)[/color]",
                   font_size ='20sp', markup = True)     
        return l2
      
# creating the object
label = MyLabelApp()
  
# run the window
label.run()

chevron_right


Output:

 
No resizing, fixed size with the width:

filter_none

edit
close

play_arrow

link
brightness_4
code

# To change the kivy default settings
# we use this module config
from kivy.config import Config
  
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', '0')
  
# fix the width of the window 
Config.set('graphics', 'width', '500')

chevron_right


Output:

 
Fix the hight of the window:

filter_none

edit
close

play_arrow

link
brightness_4
code

# to change the kivy default settings
# we use this module config
from kivy.config import Config
  
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', '0')
  
# fix the height of the window 
Config.set('graphics', 'height', '400')

chevron_right


Output:

 
We can use both height and width restriction together:

filter_none

edit
close

play_arrow

link
brightness_4
code

# to change the kivy default settings
# we use this module config
from kivy.config import Config
  
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', '0')
  
# fix the width of the window 
Config.set('graphics', 'width', '500')
  
# fix the height of the window 
Config.set('graphics', 'height', '500')

chevron_right


Output:



My Personal Notes arrow_drop_up

Competative Programmer

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.