У меня есть программа tkinter:
import urllib.request
from tkinter import *
root = Tk()
root.iconbitmap(default='icon.ico')
root.wm_title('Got Skills\' Skill Tracker')
frame = Frame(width="500",height="500")
frame.pack()
def show():
name = "zezima"
page = urllib.request.urlopen('http://hiscore.runescape.com/index_lite.ws?player=' + name)
page = page.readlines()
skills = []
for line in page:
skills.append([line.decode("utf-8").replace("\n", "").split(",")])
skills = skills[0:25]
for item in skills:
toPrint = item[0][0],"-",item[0][1],"-",item[0][1],"\n"
w = Message(frame, text=toPrint)
w.pack()
menu = Menu(root)
root.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label="Commands", menu=filemenu)
filemenu.add_command(label="Show Skills", command=show)
root.mainloop()
Когда я запускаю приведенный выше скрипт, он показывает это (что хорошо):
альтернативный текст http://img708.imageshack.us/img708/8821/tkinter1.png
Когда я нажимаю Команды> Показать навыки, оно превращается в this . (Связано, потому что оно высокое.) Это показывает правильные вещи, но ... я могу представить, что вы видите проблему.
Два вопроса:
-Как добавить полосу прокрутки в рамку и сохранить рамку фиксированного размера? (В идеале, сохраняйте размер первого изображения, добавьте вывод show (), добавьте полосу прокрутки к первому изображению программы.)
-С следующим кодом:
for item in skills:
toPrint = item[0][0],"-",item[0][1],"-",item[0][2],"\n"
w = Message(frame, text=toPrint)
w.pack()
Это лучший способ вывести то, что я вывожу? Список (skills
) выглядит как [[1,2,3],[4,5,6]..]
, и я хочу отобразить 1-2-3 в строке, 4-5 - 6 в строке и т. Д.
Но я не хочу, чтобы эта дополнительная линия между ними была такой, как сейчас, и мне было интересно, лучший ли это способ сделать, как я это сделал.