Python – 使用 Tkinter 的英语(拉丁语)到印地语(梵文)文本转换器 GUI
先决条件: tkinter 简介 |从英语到印度语言的文本音译 - 使用 indic-transliteration
Python为开发 GUI(图形用户界面)提供了多种选择。在所有的 GUI 方法中,tkinter 是最常用的方法。它是Python随附的 Tk GUI 工具包的标准Python接口。带有 tkinter 的Python输出创建 GUI 应用程序的最快和最简单的方法。现在,这取决于开发人员的想象力或必要性,他/她想使用这个工具包开发什么。
To create a tkinter :
- Importing the module – tkinter
- Create the main window (container)
- Add any number of widgets to the main window.
- Apply the event Trigger on the widgets.
让我们创建一个基于 GUI 的英语(拉丁语)到印地语(天城文)文本转换器应用程序,它可以将用户输入的文本转换为梵文文本。
下面是实现:
Python3
# import sanscript class from the indic_transliteration module
from indic_transliteration import sanscript
# import transliterate method from sanscript
# class of the indic_transliteration module
from indic_transliteration.sanscript import transliterate
# import all functions from the tkinter
from tkinter import *
# Function to clear both the text areas
def clearAll() :
# whole content of text area is deleted
text1_field.delete(1.0, END)
text2_field.delete(1.0, END)
# Function to convert into Devanagari text
def convert() :
# get a whole input content from text box
# ignoring \n from the text box content
input_text = text1_field.get("1.0", "end")[:-1]
# converted into the given devanagari
# transliterated text
output_text = transliterate(input_text, sanscript.ITRANS,
sanscript.DEVANAGARI)
text2_field.insert('end -1 chars', output_text)
# Driver code
if __name__ == "__main__" :
# Create a GUI window
root = Tk()
# Set the background colour of GUI window
root.configure(background = 'light green')
# Set the configuration of GUI window (WidthxHeight)
root.geometry("400x350")
# set the name of tkinter GUI window
root.title("Converter")
# Create Welcome to Latin to Devanagiri text converter
headlabel = Label(root, text = 'Welcome to Latin to Devanagiri text converter',
fg = 'black', bg = "red")
# Create a " Latin Text " label
label1 = Label(root, text = " Latin Text ",
fg = 'black', bg = 'dark green')
# Create a " Devanagiri Text " label
label2 = Label(root, text = " Devnagiri Text",
fg = 'black', bg = 'dark green')
# grid method is used for placing
# the widgets at respective positions
# in table like structure .
headlabel.grid(row = 0, column = 1)
# padx keyword argument used to set padding along x-axis .
# pady keyword argument used to set padding along y-axis .
label1.grid(row = 1, column = 0, padx = 10, pady = 10)
label2.grid(row = 3, column = 0, padx = 10, pady = 10)
# Create a text area box
# for filling or typing the information.
text1_field = Text(root, height = 5, width = 25, font = "lucida 13")
text2_field = Text(root, height = 5, width = 25, font = "lucida 13")
# padx keyword argument used to set padding along x-axis .
# pady keyword argument used to set padding along y-axis .
text1_field.grid(row = 1, column = 1, padx = 10, pady = 10)
text2_field.grid(row = 3, column = 1, padx = 10, pady = 10)
# Create a Convert Button and attached
# with convert function
button1 = Button(root, text = "Convert into Devnagiri text",
bg = "red", fg = "black", command = convert)
button1.grid(row = 2, column = 1)
# Create a Clear Button and attached
# with clearAll function
button2 = Button(root, text = "Clear", bg = "red",
fg = "black", command = clearAll)
button2.grid(row = 4, column = 1)
# Start the GUI
root.mainloop()
输出 :