- PyGTK로 맞춤법 검사기 애플리케이션 개발하기

맞춤법 검사기는 일상적으로 많이 사용되는 도구 중 하나입니다. 이번 글에서는 Python과 PyGTK를 사용하여 맞춤법 검사기 애플리케이션을 개발하는 방법을 살펴보겠습니다.

필요한 도구 설치하기

먼저, PyGTK를 사용하기 위해 필요한 도구를 설치해야 합니다. 아래 명령어를 사용하여 PyGTK를 설치합니다.

pip install pygtk

또한, 맞춤법 검사를 수행하기 위해 py-hunspell 라이브러리도 설치해야 합니다. 다음 명령어를 사용하여 py-hunspell을 설치합니다.

pip install py-hunspell

애플리케이션 개발하기

1. 필요한 라이브러리 가져오기

import gtk
import hunspell

2. GUI 디자인하기

class SpellCheckerApp:

    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("맞춤법 검사기")
        self.window.connect("destroy", self.close_app)

        self.textview = gtk.TextView()
        self.textview.set_wrap_mode(gtk.WRAP_WORD)
        self.scrolledwindow = gtk.ScrolledWindow()
        self.scrolledwindow.add(self.textview)
        
        self.button = gtk.Button(label="검사하기")
        self.button.connect("clicked", self.check_spelling)
        
        self.vbox = gtk.VBox()
        self.vbox.pack_start(self.scrolledwindow)
        self.vbox.pack_start(self.button)

        self.window.add(self.vbox)
        self.window.show_all()

    def close_app(self, widget, data=None):
        gtk.main_quit()

    def check_spelling(self, widget, data=None):
        textbuffer = self.textview.get_buffer()
        start_iter = textbuffer.get_start_iter()
        end_iter = textbuffer.get_end_iter()
        text = textbuffer.get_text(start_iter, end_iter)
        
        spellchecker = hunspell.HunSpell('en_US', 'ko_KR')
        incorrect_words = []
        words = text.split()
        
        for word in words:
            if not spellchecker.spell(word):
                incorrect_words.append(word)
        
        if incorrect_words:
            message = "잘못된 단어:\n" + "\n".join(incorrect_words)
        else:
            message = "맞춤법에 오류가 없습니다."
        
        dialog = gtk.MessageDialog(self.window, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, message)
        dialog.run()
        dialog.destroy()

3. 애플리케이션 실행하기

def main():
    gtk.main()
    return 0

if __name__ == "__main__":
    app = SpellCheckerApp()
    main()

실행하기

위의 코드를 실행하여 맞춤법 검사기 애플리케이션을 실행할 수 있습니다. 텍스트 입력창에 텍스트를 입력하고 “검사하기” 버튼을 클릭하면 맞춤법 오류가 있는 단어를 확인할 수 있습니다.

이렇게 간단한 PyGTK 애플리케이션을 개발하여 맞춤법 검사를 편리하게 수행할 수 있습니다.

#python #PyGTK #맞춤법검사 #애플리케이션