Im Allgemeinen ist meine Struktur so in Ordnung? Und wie löse ich das best practice?
Ach und ich habe oft gelesen place() wäre nicht gut, ist das denn so eine Katastrophe? Ich habe andere Programme auf unterschiedlichen Geräten probiert mit place(), war nie ein Problem, wenn es aber der Fall ist, dass es echt crap ist, wäre eine Empfehlung gut!
Vielen Dank!
hier der Code:
Code: Alles auswählen
# -*- coding: utf-8 -*-
""" allgemeine Importe """
from tkFileDialog import askopenfilename, asksaveasfile
from Tkinter import Button, Frame, Tk, Label, Toplevel, Text, END, Menu, Entry, Listbox, Scrollbar, VERTICAL, RIGHT, Y
from tkMessageBox import askokcancel, showinfo, showwarning
import PIL
from PIL import Image, ImageTk
import os
import ttk
class Blog_Post_Tool(Frame):
# Variablen nur in der init initialisieren
def __init__(self, parent):
Frame.__init__(self, parent, background="white")
self.parent = parent
self.initUI()
# Hier werden alle GUI Elemente initialisiert
def initUI(self):
self.place()
""" Labels """
global bild_size
bild_size = Label(root, text = "")
bild_size.place(x = 10, y = 40)
global bild_preview
self.bild_preview = Label(root, image = None)
self.bild_preview.place(x = 10, y = 60)
""" Buttons """
self.choose_image = Button(root, text = "Bild aussuchen", bg = "LightBlue2", command=bildinhalt_aussuchen)
self.choose_image.place(x = 10, y = 10)
""" Hier beginnen die Methoden """
# Fuer das Schließen des Programms
def callback():
if askokcancel("Achtung", "Möchten Sie das Programm wirklich beenden?"):
root.destroy()
else:
return
def bildinhalt_aussuchen():
try:
""" Hier wird nach dem Bild gefragt """
pfad = askopenfilename()
""" Fuer die size """
im_for_size = Image.open(pfad)
""" Erstellt die Vorschau """
im_thumb = Image.open(pfad)
basewidth = 500
wpercent = (basewidth / float(im_thumb.size[0]))
height = int((float(im_thumb.size[1]) * float(wpercent)))
im_thumb = im_thumb.resize((basewidth, height), PIL.Image.ANTIALIAS)
photoimg = ImageTk.PhotoImage(im_thumb)
bild_preview.image = photoimg
bild_preview.config(image = photoimg)
bild_size.config(text = (str(im_for_size.size[0]) + " x " + str(im_for_size.size[1])))
except IOError:
return
if __name__ == "__main__":
root = Tk()
app = Blog_Post_Tool(root)
root.title("Branding Tool")
root.resizable(0, 0)
root.geometry('800x600')
root.protocol("WM_DELETE_WINDOW", callback)
root.mainloop()