Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

Диалоговые окна tkinter

Приветствую вас дорогие друзья! Сегодня мы с вами познакомимся с двумя основными диалоговыми окнами которые есть практически в любой программе. И научимся их создавать средствами библиотеки tkinter. Поехали!

Для диалоговых окон в библиотеке tkinter есть отдельный модуль который мы должны будем подключить.

from tkinter.filedialog import *

За создание диалогового окна 'Открыть файл' отвечает класс askopenfilename.

from tkinter import *
from tkinter.filedialog import * 
window = Tk()
window.title('Открыть и сохранить файл')
open_file = askopenfilename()
window.mainloop()

Как видите с запуском нашего основного окна программы появилось диалоговое окно в котором нам предлагается выбрать файл на нашем рабочем компьютере. За создание такого окна отвечает следующая строчка

open_file = askopenfilename()

Для того чтобы появилось диалоговое окно 'Сохранить файл' мы должны воспользоваться классом asksaveasfilename.

from tkinter import *
from tkinter.filedialog import * 

window = Tk()
window.title('Открыть и сохранить файл')
save_file = asksaveasfilename()
window.mainloop()

В результате выполнения данного кода у нас появится диалоговое окно 'Сохранить как'.

В программах данные окна вызываются когда мы кликаем по кнопкам открыть и сохранить как. Давайте реализуем подобное поведение.

from tkinter import *
from tkinter.filedialog import * 

window = Tk()
window.title('Открыть и сохранить файл')
menu = Menu()
window.config(menu=menu)
def open_file():
    open_file = askopenfilename()
def save_file():
    save_file = asksaveasfilename()

menu.add_command(label='Открыть', command=open_file)
menu.add_command(label='Сохранить как', command=save_file)

window.mainloop()
Диалоговые окна в tkinter

Здесь мы написали небольшую програмку в главном окне которого располагается верхнее меню с двумя кнопками 'Открыть' и 'Сохранить как'.

Напишем небольшую программу используя полученные знания:

from tkinter import *
from tkinter.filedialog import *
import fileinput

window = Tk()
window.title('Открыть и сохранить файл')
menu = Menu()
text = Text(window,width=40,height=10,
          font="Verdana 12")

window.config(menu=menu)
def open_file():
    text.delete('1.0',END)
    open_file = askopenfilename()
    for i in fileinput.input(open_file):
        text.insert(END,i)
        
def save_file():
    save_file = asksaveasfilename()
    save_file = asksaveasfilename()
    context = text.get(1.0,END)
    file = open(save_file,"w")
    file.write(context)
    file.close()

menu.add_command(label='Открыть', command=open_file)
menu.add_command(label='Сохранить как', command=save_file)

text.pack()
window.mainloop()

С помощью данной программы мы можем открывать, читать и переписывать содержимое txt файлов. Заметьте что для считывания содержимого файлов мы подключили модуль fileinput.

На этом данная статья подошла к концу. Надеюсь я смог донести до вас новую информацию. Если что то было не понятно оставляйте свои вопросы в комментариях или пишите в службу поддержки. С радостью на них отвечу!

До скорой встречи!

Оцените статью

Еще статьи

кэш HTML

JavaScript ошибки

window location JavaScript

JavaScript cookie

phpmailer php

Javascript json

константы php 7

css zoom

Комментарии

В данном разделе пока нет комментариев!

История

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.