×

Python: SetBitmap() function in wxPython

SetBitmap() function

In the last tutorial, we have discussed about the GetLabelText() function of wx.MenuItem class which is one of the important function of this class. Now, in this tutorial, we will discuss about another important function from the wx.MenuItem class of wxPython module i.e., SetBitmap() function.

What is SetBitmap() function?

The SetBitmap() is an important function associated with the wx.MenuItem class of wxPython module. The SetBitmap() function is used to sets the bitmap for the menu item in the menu bar. It must be called before we append the given item with the menu bar associated with it.

It means if we append an item in the menu bar without providing bitmap image in it, then it may be not possible for us to setup a bitmap image later in the menu bar. But we can change or reset the bitmap image from the menu bar if we have given it initially in the function while appending.

Syntax for SetBitmap() function:

Whenever we are using the SetBitmap() function of wxMenuItem class, we have to use the syntax correctly in order to set bitmap image correctly as menu item into the menu bar of GUI. Following is the correct syntax of using the SetBitmap() function of wxPython module in our Python program:

Syntax –

wx.SetBitmap( "bmp", "Check")

As we can see in the above given syntax for SetBitmap() function, it takes only two parameters that we have to define properly for execution of SetBitmap() function successfully.

Parameters:

Following are the description of the parameters that must be given in the SetBitmap() function:

  • bmp: The bmp is the bitmap image given in the SetBitmap() function. This parameter is used to set the bitmap image for the menu bar. It will add the bitmap image as a menu item in the menu bar.
  • checked: The checked is the value given in the SetBitmap() function. The bool value true will be used to check the image given and false value will be assigned to uncheck the image given in the function. It works like enabling or disabling the given image in the menu item of menu bar.

Example:

Let's see an example of SetBitmap() function of wxMenuItem class, so that we can understand the concept of the SetBitmap() in a better way. Look at the following example:

In the following Python program, we will use the SetBitmap() function in the program and then we will run the program to add an bitmap image as a menu item in the menu bar of GUI screen. We will check this image also. Now, look at the following Python program of wxPython module functions:

 # import the wxPython module in program
 import wx
 # define frame class with wxPythonExample name
 class wxPythonExample(wx.Frame):
         # define the default init function for the GUI screen
     def __init__(self, *args, **kwargs):
         super(wxPythonExample, self).__init__(*args, **kwargs) # using super as a local function
         self.InitUI()
         # define the initUI function with self parameter
     def InitUI(self):
         self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
                 # define the menu bar in the GUI Screen
         self.menubar = wx.MenuBar()
         self.fileMenu = wx.Menu() # fixing the menu
         self.st = wx.StaticText(self, label ="", pos =(31, 31), style = wx.ALIGN_LEFT) # defining parameters for the static text shown in GUI
         self.item = wx.MenuItem(self.fileMenu, 1, '&Check this awesome text written by TUTORIALANDEXAMPLE Developers\tCtrl + c', helpString ="Check for the Help") # defining unstriped text for the function
                 # use SetBitmap() function to add bitmap image in the GUI screen
         self.item.SetBitmap(bmp = wx.Bitmap('cross.png'), checked = True) 
         self.fileMenu.Append(self.item) # creating the menu
         self.menubar.Append(self.fileMenu, '&File and Drop Down Menu') # name of the menu
         self.SetMenuBar(self.menubar)
         # label text from item
         LabelText = self.item.GetLabelText('&Check this awesome text by TUTORIALANDEXAMPLE Developers\tCtrl + c') # using the GetLabelText() function
         # print kind of menuitem
         print(LabelText) # printing text in output of the program
         self.st.SetLabel(LabelText) # calling out the text
         self.SetSize((380, 270)) # setting dimension of menu bar
         self.SetTitle('GUI Screen build by TUTORIALANDEXAMPLE Python Developers') # setting title of GUI Screen
         self.Centre()
 # definig the default main() function of program
 def main():
     app = wx.App()
     ex = wxPythonExample(None) # calling out the wxPythonExmple class
     ex.Show()
     app.MainLoop() # using the MainLoop() function to display GUI
 # using if statement in the program
 if __name__ == '__main__':
     main() # calling out the main function 

Output:

>> Check this awesome text by TUTORIALANDEXAMPLE Developers

Explanation:

In the above Python program, first of all we have imported the wxPython module. After that, we have defined a frame class of wxPython module with name wxPythonExample and using the class parameter. Now, inside the frame class we are using various parameters and functions to set various functionalities in the frame class. After defining various parameters and using SetBitmap() function inside the wxPythonExample named frame class, we have defined the default main() function of the program. In the main() function, we have used various functions such as wx.App() function, ex.show() and app.MainLoop() function. After closing the main() function, we have used the if statement in our program. In the if statement, we have called the main() function of the program.

Parameters used inside the wxFrame class (wxPyyhonExample):

Following are the various functions and their explanation that we have used inside the frame class that we have defined in our program:

  • First of all, we have defined the default __init__ function having default parameters in it i.e., self, *args and **kwargs.
  • Then, we have defined the super function inside the default init function.
  • Inside the init function, we have defined local function I.e., with having init parameters in it.
  • Then, we have defined another function named as self.initUI().
  • We have used the initUI function as the default function with the ‘self’ parameter in it.
  • After that, we have defined the self locale function with arguments in it.
  • Then, we have created the menu bar by using the self.MenuBar() function inside the initUI function.
  • After that, we have used the ‘wx.Menu()’ to define the menu that we are defining in the menu bar of GUI screen.
  • Then, we have defined the parameters of the static text (that we will be using in the GUI screen) using wx.StaticText() function.
  • After that, we have used the MenuItem class to add items in the menu.
  • We have used SetBitmap() function to add an image like the menu item in the menu bar. We have used the bool argument inside the SetBitmap() function to check the bitmap image we have added in the program.
  • Then, we created the menu and fixed it with parameters using self.menubar.Append() function.
  • After that, we have used the GetLabelText() function to change the unstriped text into striped text and show it on the GUI screen in the output.
  • Then, we used the print statement to print the static text of GetLabelText() function in the output of the program.
  • After that, we have used the various parameters for the tool bar such as size, title, style to set the dimensions, style and title of the menu in the menu bar that we are building and adding items in it.
  • After that, we have closed the wxFrame class function.

Working of Program:

When we run the above program the interpreter first import the wxPython module in our Python program. Then, it goes to the main() function of the program, where we have called the frame class. In the frame class, the interpreter will run the various functions that we have defined inside it. It will add the bitmap image in the menu bar as a menu item. It will also print the static text in the output of program as we have used the print statement in the frame class. It will also add image and items in the menu that we have created. After that, when interpreter goes to the if statement part, it will again call out the main() function from the program. That's how, the GUI screen will continuously display into our system's screen once we run the program.

When we run the program, we will see the GUI screen with a menu present in it, in the menu bar section. When we click on the menu, we will see the list of items and options available in that menu. It will also show the static text that we have used in our program.

In this tutorial, we have learned that how can we add bitmap image as a menu item in the menu bar present in our GUI screen.


Related Topics

How to Configure Python Interpreter in Eclipse

Python: Python is an interactive and more accessible language than any other programming language. The python programming language uses a variety of libraries to perform the operations in a faster way....

3 minutes read.

Python Dictionary pop() method

Python Dictionary pop() method The dictionary.pop() method in removes the specified item and returns an element from a dictionary having the given key. Syntax dictionary.pop(key[, default]) Parameter key – This argument signifies the key which is to...

2 minutes read.

Screen Rotation app Using Tkinter in Python

Tkinter: The standard Python technique for building Graphical User Interfaces (GUIs) is Tkinter, which is included in all popular Python distributions. The only framework included in the Python standard library is...

3 minutes read.

Spark and Python for big data with pyspark github

Pyspark: Apache Spark is a computational engine that handles large data sets using parallel and batch processing. Apache Spark is an open-source, distributed computing framework and collection of libraries for real-time,...

3 minutes read.

Dynamic Typing in Python

Many key factors for developing a great programming language include how it manages its memory space. This memory space largely depends on empty memory boxes called variables that one creates...

3 minutes read.

How to create a file in Python?

How to create a file in python? Files provide us a convenient way of storing our information. Once we have our data, the next task is to store it so that...

3 minutes read.

JWT Decode Python

Python's PyJWT package makes it possible to encrypt and decrypt JSON Web Tokens (JWT). JWT is a public, recognized global benchmark for safely expressing demands between two parties (RFC 7519). JSON...

7 minutes read.

How to handle exceptions in python

Prerequisite: Exceptions and errors in Python What are Exceptions? Exceptions are run-time errors that unexpectedly occur and crash a program. When occurred, it alters the flow of the program. These errors are...

9 minutes read.

Difference between Yield and Return in Python

Python yield statement The generators are defined by using the yield statement in Python. Generally, it converts a normal Python function into a generator.  The yield statement hauls the function and returns...

3 minutes read.

Unicode to String in Python

Python Python is an interactive and more accessible language than any other programming language. The python programming language uses a variety of libraries to perform the operations in a faster way....

3 minutes read.

Python Knapsack problem

Python Knapsack problem Before we dig down about Knapsack problems in Python, first let's have a look at what is actually a knapsack problem. What is a knapsack problem? A problem from the...

5 minutes read.

Python memoryview() Function

Python memoryview() Function The memoryview() function in Python returns a memory view object from a specified object. Syntax memoryview(obj) Parameter obj: This parameter represents a Bytes object or a bytearray object. Return This function returns a “memory view” object...

1 minute read.

Wikipedia module in Python

Wikipedia module in Python: The internet has become an essential part of all of our life which is the largest source of all the information. Therefore, it becomes very important...

7 minutes read.

Sklearn linear Model in Python

The most effective and reliable Python machine learning library is Sklearn. Through a Python consistency interface, it offers a variety of effective tools for statistical modeling and machine learning, including...

5 minutes read.

Decision Tree in Python

Decision Tree is one of the most essential algorithms in the area of machine learning for classification and regression. But let us first talk about the lifespan of every machine learning...

12 minutes read.

Python Super function

The super function is used to access and call the methods or functions involved in the parent class during Inheritance. What is Inheritance? The process where the parent class inherits some of...

3 minutes read.

Find whether the given stringnumber is palindrome or not

Problem statement Sam is found of playing with strings. One day he thought of finding whether a string is a palindrome or not. He wanted to develop a computer process to...

2 minutes read.

Why learn Python?

All things considered, learning python would be extraordinary, it'll acquaint you with the universe of dynamic programming dialects, if you're somebody who has had a semester of involvement with C. Python...

4 minutes read.

Expressions in Python

What is Expression in Python? The expression contains more than one operator as well as the operands with it. Expression helps us to produce some other values. In the Python programming...

12 minutes read.

Python String isalnum() method

Python String isalnum() method The string.isalnum () method in Python returns a boolean value true if all characters in the string are alphanumeric else for any other value it returns false. Syntax String.isalnum() Parameter NA Return This...

1 minute read.