Ich habe ein tkinter Programm:Wie fügt man einem Fenster mit tkinter eine Bildlaufleiste hinzu?
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()
Als ich das Skript ausführen, zeigt dies (was gut ist):
alt text http://img708.imageshack.us/img708/8821/tkinter1.png
Wenn ich Befehle> Show Fähigkeiten klicken, es stellt sich in this. (Verbunden, weil es groß ist.) Es zeigt das Richtige, aber ... Ich kann mir vorstellen, dass Sie das Problem sehen.
Zwei Fragen:
-Wie kann ich eine Scrollbar mit dem Rahmen, und halten den Rahmen eine feste Größe? (Idealerweise hält die Größe des ersten Bildes, fügen Sie die Ausgabe von show(), fügen Sie eine Bildlaufleiste auf das erste Bild des Programms.) -Mit den folgenden Code:
for item in skills:
toPrint = item[0][0],"-",item[0][1],"-",item[0][2],"\n"
w = Message(frame, text=toPrint)
w.pack()
Ist das der beste Weg, ausgeben, was ich ausspiele? Die Liste (skills
) sieht wie [[1,2,3],[4,5,6]..]
aus, und ich möchte 1-2-3 auf einer Linie, 4 - 5 - 6 auf einer Linie usw. anzeigen.
Aber ich will diese Extralinie dazwischen nicht sie sind wie jetzt, und ich habe mich gefragt, ob ich es am besten machen könnte.
Ich dachte, ich brauche das '\ n', damit sie nicht alle in derselben Zeile angezeigt werden. : P. Wie auch immer, vielen Dank. Es funktioniert gut. :) – Andrew