Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Locked learning resources

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Adding Load Functionality

00:00 Adding Load Functionality As you saw previously, you now have the layout of the text editor, but it’s not functional. You’ll change that by adding the load functionality.btn_open needs to show a File Open dialog, and allow the user to select a file.

00:17 It then needs to open that file and set the text of txt_edit to the contents of the file, so it’s time to create an open file function to do this.

00:26 First you import ask_open_file_name from tkinter.filedialog.

00:37 Then you create the function.

00:44 These lines use ask_open_file_name dialog from tkinter to display a file open dialog, and store the selected file to file_path.

00:57 Here you check to see if the user closes the dialog box or clicks the cancel button. If so, then file_path will be None and the function will return without executing any of the remaining code.

01:11 This clears the current contents of txt_edit using delete.

01:20 These two lines open the selected file and read the contents before storing the text as a string.

01:30 Here you assign the string text to txt_edit using insert. Finally, this line sets the title of the window so that it contains the path of the open file.

01:44 Now you can update the program so that btn_open calls open_file() whenever it’s clicked. As you saw previously, this is a case of setting the command attribute of btn_open to the open_file() function name.

01:58 Save the file and run it to check that everything’s working. You should be able to open a text file as seen on screen, and also add to the text once it’s been loaded.

02:16 With this part of the application complete in the next section of the course, you’ll add the final part of the code, the save functionality.

Become a Member to join the conversation.