Nebuchadnezzar Skrevet 30. juni 2015 Del Skrevet 30. juni 2015 (endret) Heisann! Sitter i sommerferien og prøver å bli litt mer stø i python.Prøver å lage et enkelt program som får opp to bilder eller tekst, også kan brukeren klikkepå det bildet hun foretrekker. For eksempel velge mellom banan eller pære hva som er best.Når beste frukt er valgt, skal det dukke opp to nye frukter. Ideen min var å lage en bakgrunn som vist i figuren under. For deretter å få tekst (i første omgang) til å dukke opp på skjermen, ved klikk. Slik som koden står nå fungerer den, men jeg klarer virkelig ikke få hverken bilder av frukt, eller tekst til å dukke opp på skjermen. Er det noen som har noen tips? Deler av koden er noe lang da jeg ønsker at vinduet skal være skalerbart. Ellers er vel resten helt elementert.. from Tkinter import * from PIL import Image, ImageTk root = Tk() root.title("Title") root.geometry("600x600") root.configure(background="black") class Example(Frame): def __init__(self, master, *pargs): Frame.__init__(self, master, *pargs) self.image = Image.open("iceHockey5.gif") self.img_copy= self.image.copy() self.background_image = ImageTk.PhotoImage(self.image) self.background = Label(self, image=self.background_image) self.background.pack(fill=BOTH, expand=YES) self.background.bind('<Configure>', self._resize_image) def _resize_image(self,event): new_width = event.width new_height = event.height self.image = self.img_copy.resize((new_width, new_height)) self.background_image = ImageTk.PhotoImage(self.image) self.background.configure(image = self.background_image) def vinnner( width , height , posX , posY): percentX = posX/float(width) percentY = posY/float(height) if 0.273178807947 < percentY < 0.746688741722 and 0.39238410596 < percentX < 0.610567514677: return "sirkel" elif percentX > 0.5: return "Vinner = 2" else: return "Vinner = 1" def callback(event): root.update() root.xPos , root.yPos = event.x, event.y width = root.winfo_reqwidth() height = root.winfo_reqheight() print vinnner( width , height , root.xPos , root.yPos) fruktliste = ['pære' , 'banan' , 'eple' , 'kiwi' , 'drue'] e = Example(root) root.bind('<Motion>', motion) root.bind("<Button-1>", callback) e.pack(fill=BOTH, expand=YES) root.mainloop() Endret 30. juni 2015 av Nebuchadnezzar Lenke til kommentar
snippsat Skrevet 4. juli 2015 Del Skrevet 4. juli 2015 (endret) Er det noen som har noen tips? Det du beskriver passer bedre som en web-applikasjon. Til og lage dette passer mikro-rammeverk som Flask,Bottle,Pyramid,CherryPy... perfekt. Når det gjelder Tkinter har jeg alltid holdt meg unna,pga utseende bruker ikke native widgets for OS. WxPython,PyQt,PyGTK er alle greie og ikke vanskeligere og lære seg enn Tkinter. WxPython har vært min favoritt,men som nevnt så kan en web-applikasjon være mye mer fleksibel. For og vise litt det jeg prater om,kan jeg ta bildet ditt og bruke Image Map og lage linker når man trykker på bildet. Bringer dette inn Flask som er en stor favoritt når det gjelder webutvikling i Python. Blir til denne demo Mikro-rammeverk er webutvikling uten støtte hjul,så basisk forståelse av HTML,CSS,JavaScript(jQuery) er greit og ha. Men dette gir en veldig stort frihet,og man slipper krangle med store web-rammeverk som har 100-vis ting du aldri kommer til og bruke. Koden for demo er kun dette, kunne vært kortet inn enda mer,men viser import av CSS og jQuery som jeg ikke bruker i denne demoen. server: from flask import Flask, render_template app = Flask(__name__,static_url_path = "") @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': app.run(debug=True) index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel=stylesheet type=text/css href="{{ url_for('static', filename='None') }}"> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> </head> <body> <div id="wrap"> <h1 align="center">Meny</h1> <center><img src="meny1.jpg" usemap="#logos"/></center> <map name="logos"> <area shape="circle" coords="178,213,140" href="http://dreamatico.com/data_images/apple/apple-7.jpg"/> <area shape="circle" coords="451,213,74" href="http://flask.pocoo.org/"/> <area shape="circle" coords="732,213,140" href="http://bottlepy.org/docs/dev/index.html"/> </map> </div> </body> </html> Endret 4. juli 2015 av snippsat Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå