[python]
조회수 1021회
from tkinter import *
import webbrowser
root = Tk()
root.title("URL")
# 얘는 그냥 브라우저 창을 띄우는 친구
def mkurl(event):
webbrowser.open_new(event.widget.cget("text"))
#이놈은 주소창 입력값을 가져오는 함수
def ok():
listbox.insert(0, txt.get())
#URL입력하는 입력창
txt = Entry(root)
btn = Button(root, text="OK", command = ok)
listbox = Listbox(root, selectmode ='extended', height=10)
listbox.grid(row=1,column=2)
txt.grid(row=0, column=1)
btn.grid(row=1, column=1)
root.mainloop()
url을 엔트리에 넣고 버튼을 누르면 리스트에 추가가 됩니다. 근데 그 추가된 리스트를 선택하면 브라우저 오픈하는 하이퍼링크기능을 넣고 싶은데 안 넣어집니다. 바인드를 넣어도 계속 트레이스백 뜨고 미치겠습니다 .
1 답변
-
트래이스백을 잘 읽어보면 상세한 오류 내용을 알 수 있습니다. 그리고 프로그래밍은 성격 급하면 못해요.
오류 설명도 없고 작성한 코드에 대한 설명 또한 없어서 대충 코딩했습니다.
mkurl 함수를 listbox ListboxSelect 의 핸들링 함수로 등록했고 listbox 의 요소를 클릭시 등록한 주소로 브라우져가 실행됩니다.
from tkinter import * import webbrowser root = Tk() root.title("URL") # 얘는 그냥 브라우저 창을 띄우는 친구 def mkurl(event): index = event.widget.curselection() webbrowser.open_new(event.widget.get(index)) #이놈은 주소창 입력값을 가져오는 함수 def ok(): listbox.insert(0, txt.get()) #URL입력하는 입력창 txt = Entry(root) btn = Button(root, text="OK", command = ok) listbox = Listbox(root, selectmode ='extended', height=10) listbox.bind('<<ListboxSelect>>', mkurl) listbox.grid(row=1,column=2) txt.grid(row=0, column=1) btn.grid(row=1, column=1) root.mainloop()
댓글 입력