Создание функции запуска кода - PullRequest
0 голосов
/ 16 апреля 2011

Я делаю приложение с Python и Tkinter.Скажем, я добавил две кнопки, одну для MAIN и одну для NEWS, когда я нажимаю MAIN, чтобы запустить функцию mainthumsfun и установить переменные, а после этого запустить функцию gui с новыми переменными.Как бы я сделал эту работу?

import StringIO
import Scraper
import Tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()
root.title('RazeTheWorld')

maintumbs = Scraper.maintumbs()
newstumbs = Scraper.newstumbs()

def mainthumsfun():
    url0 = mainthumbs[0]
    url1 = mainthumbs[1]
    url2 = mainthumbs[2]
    url3 = mainthumbs[3]

def newsthumbsfun():
    url0 = newsthumbs[0]
    url1 = newsthumbs[1]
    url2 = newsthumbs[2]
    url3 = newsthumbs[3]

def gui():
    imgf1 = urllib.urlopen(url0)
    imgwr1 = StringIO.StringIO(imgf1.read())
    image1 = ImageTk.PhotoImage(Image.open(imgwr1))
    panel1 = tk.Label(root, image=image1)
    panel1.grid(row=0,column=0)

    imgf2 = urllib.urlopen(url1)
    imgwr2 = StringIO.StringIO(imgf2.read())
    image2 = ImageTk.PhotoImage(Image.open(imgwr2))
    panel2 = tk.Label(root, image=image2)
    panel2.grid(row=1,column=0)

    imgf3 = urllib.urlopen(url2)
    imgwr3 = StringIO.StringIO(imgf3.read())
    image3 = ImageTk.PhotoImage(Image.open(imgwr3))
    panel3 = tk.Label(root, image=image3)
    panel3.grid(row=2,column=0)

    imgf4 = urllib.urlopen(url4)
    imgwr4 = StringIO.StringIO(imgf4.read())
    image4 = ImageTk.PhotoImage(Image.open(imgwr4))
    panel4 = tk.Label(root, image=image4)
    panel4.grid(row=3,column=0)

root.mainloop()

1 Ответ

0 голосов
/ 15 марта 2012

Вам просто нужны кнопки, которые запускают код при нажатии? Что вы делаете, это рисуете виджет внутри вашего корня Frame, такой как кнопка или поле меню. Проверьте этот пример текстового редактора

Это текстовый редактор с меню и парой кнопок, вызывающий метод при нажатии на него. Больше не надо. Легко грок:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...