Bild Datei bei Tkinter verwenden!!!!!!!!!!!!!
-
- User
- Beiträge: 27
- Registriert: Donnerstag 13. August 2015, 10:00
welches ist das, das sich dann später bewegen soll ?
-
- User
- Beiträge: 27
- Registriert: Donnerstag 13. August 2015, 10:00
hab den code jetzt so geschrieben jetzt ist nur noch ein mänchen drauf
Code: Alles auswählen
import tkinter as tk
import random
import time
IMAGENAME = r"C:\Users\Nicolai\Desktop\Python lernen\Stickman_stand.gif"
class Figur:
def __init__(self, canvas, img):
self.canvas = canvas
self.img = img
self.img_id = self.canvas.create_image(0, 0, image=img)
self.canvas.move(self.img_id, 245, 100)
self.x = -3
self.y = -3
self.canvas_height = self.canvas.winfo_height()
self.canvas_width = self.canvas.winfo_width()
def main():
root = tk.Tk()
root.title("Stickmans' Adeventure")
root.resizable(1, 1)
root.wm_attributes("-topmost", 1)
canvas = tk.Canvas(root, width=500, height=500, bd=0, highlightthickness=0)
canvas.pack()
img = tk.PhotoImage(file=IMAGENAME)
figure = Figur(canvas, img)
root.mainloop()
if __name__ == '__main__':
main()
-
- User
- Beiträge: 1715
- Registriert: Freitag 31. Juli 2015, 13:34
Stimmt braucht man nicht alles. Aber wenn man eine GUI schreibt, wäre es nicht schlecht, schon mal die Widgets zu importieren:cofi hat geschrieben:Nein, wenn man mit Tkinter arbeitet will man absolut keinen Stern-Import:
Tk (Python2) importiert 182 Namen das ist absolut nicht ueberschaubar und die Namen sind generisch genug, dass sie sich mit anderen ueberschneiden koennen.
Code: Alles auswählen
from tkinter import Tk
from tkinter import Message
from tkinter import Label
from tkinter import Button
from tkinter import Radiobutton
from tkinter import Checkbutton
from tkinter import Entry
from tkinter import Spinbox
from tkinter import Scrollbar
from tkinter import Text
from tkinter import Listbox
from tkinter import Frame
from tkinter import LabelFrame
from tkinter import Scale
from tkinter import PanedWindow
from tkinter import Canvas
from tkinter import Menubutton
from tkinter import Menu
Vielleicht sollte man einmal eine Liste erstellen, was man importieren sollte.
Und wenn das Programm fertig ist, kann man bei den imports ja wieder herauslöschen, was man nicht gebraucht hat.
Ja, da wären auch die reliefs oder anchor, wofür es Definitionen gibt, auch X und Y etwa für Mauskoordinaten. Da müßte man wirklich mal nachdenken, was da sinnvoll wäre schon einmal zu importieren.
Beim GuiEditor brauche ich so ziemlich fast alles. da sollte ich wohl dann auch fast alles importieren.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Und das kannst du alles nicht nutzen, wenn du stattdessen `tkinter.` oder sogar nur `tk.` davor schreiben musst? Du redest hier von vielleicht 40 Namen, die du sehr wahrscheinlich gar nicht alle auf einmal brauchst, und damit nicht einmal die Haelfte der importierten Namen darstellen.
Auch schoen, dass du die Namen einzeln importierst, statt sie einfach in einem Import aufzulisten.
Auch schoen, dass du die Namen einzeln importierst, statt sie einfach in einem Import aufzulisten.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
- User
- Beiträge: 1715
- Registriert: Freitag 31. Juli 2015, 13:34
Wenn man das bevorzugt, dann kann man das so machen. Aber warum Sternchenimporte kritisieren. Bei mehreren Sternchenimporten kann es Überschneidungen geben. Aber einen Sternchenimport finde ich praktisch.Sirius3 hat geschrieben:@Alfons Mittelmeyer: man kann auch mehrere Namen gleichzeitig importieren. Aber wie schon geschrieben bevorzuge ich das "import tkinter as tk".
Außerdem muss ich bei DynTkInter einen Sternchenimport machen. Denn das ist eine tkinter Erweiterung und muss daher alles anbieten, was tkinter hat. Teils bekommt der User dann was bei DynTkInter erweitert ist und alles andere über meinen Sternchenimport von tkinter.
Tkinter kann nur .GIF Bilder zeigen. Für ein .PNG Bild musst Du PIL (pillow) mit Tkinter benützen.
Hier ein Beispiel ...
Hier ein Beispiel ...
Code: Alles auswählen
''' Tk_Canvas_Image.py
display an image using Tkinter and PIL
use a canvas so you can delete the image (eg. slide show)
PIL allows Tkinter to read more than just .gif image files
used PIL fork Pillow (newer version of PIL) from:
https://pypi.python.org/pypi/Pillow/2.0.0
'''
from PIL import ImageTk
try:
# Python2
import Tkinter as tk
except ImportError:
# Python3
import tkinter as tk
root = tk.Tk()
# pick an image file you have in your working directory
# or specify full path
image_file = "LAKE2.png"
photo = ImageTk.PhotoImage(file=image_file)
root.title(image_file)
# put the image on a canvas
cv = tk.Canvas()
cv.pack(side='top', fill='both', expand='yes')
img = cv.create_image(0, 0, image=photo, anchor='nw')
cv.update()
# optionally delete image after 5000 ms
cv.after(5000, cv.delete(img))
cv.update()
root.mainloop()
Atomkraftwerkaktienbesitzer