... .zip-Datei installieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DMD
User
Beiträge: 123
Registriert: Sonntag 17. Mai 2015, 03:34

hi
ich hab mir das PyQt4-modul als zip-Datei runtergeladen.
leider ist das eben keine .tar.gz-Datei, die ich problemlos installieren könnte :)
wie installiert man diese: "PyQt-win-gpl-4.11.4.zip"?
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

gibt es eigentlich einen Grund, warum du Qt 4.x verwenden willst und nicht das aktuelle Qt 5.x?

Dafür gibt es nämlich auch `tar.gz`Dateien (Link)- und eigentlich sollte es die auch für QT4.x nach geben.

Und kann man PyQt nicht via pip installieren?

Gruß, noisefloor
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Da du Tarballs zu bevorzugen scheinst: Kann es sein, dass du das auf einem Linux System installieren willst? Wenn ja solltest du eher in den Paketen der Distribution suchen.

Und fuer Windows solltest du die entsprechenden Installer benutzen.
DMD
User
Beiträge: 123
Registriert: Sonntag 17. Mai 2015, 03:34

ich hab ein windows system drauf.
wenn ich module installier, lief das immer mit ...tar.gz Dateien gemacht.
das ist schön einfach. ich brauche aber eben immer eine setup.py :)
ein problem hab ich wenn etwas anderes vorhanden ist.
wie installiert man denn mit pip?

ich wollte auch gern tktable installieren. nur da
gibt es wohl überhaupt nichts im netz.
hab nur gefunden, dass man den code in python (bei mir 2.7) kopiert und
das dann unter ...\Lip\side-packages abspeichert.
das kann man dann zwar ganz normal mit import tktable importieren,
aber auch nur das. geladen ist das dann irgendwie trotzdem nicht!?

und alles nur, weil ich

Code: Alles auswählen

class SecondFrame(Tkinter.Frame):

    def __init__(self, *args, **kwargs):
        Tkinter.Frame.__init__(self, *args, **kwargs)
        self.l = Tkinter.Label(self, text="Selected date")
        self.l.pack()
        self.pack()

    def update_lable(self, x):
        self.l['text'] = x;

def test2():
    import sys
    root = Tkinter.Tk()
    root.title('Ttk Calendar')

    ttkcal = Calendar2(firstweekday=calendar.SUNDAY)
    ttkcal.pack(expand=1, fill='both')

    if 'win' not in sys.platform:
        style = ttk.Style()
        style.theme_use('clam')           

    sf = SecondFrame(Tkinter.Toplevel())

    ttkcal.set_selection_callbeck(sf.update_lable)        

    root.mainloop()

dieses gern endlich mal diesen code zum laufen bekommen will!!!
den hab ich auch im netz gefunden und denke, dass ich den ganz
gut für meine zwecke erweitern kann.
(http://stackoverflow.com/questions/2777 ... ected-date) ganz unten
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

äh.... deine Beispiele sind alles Tkinter-Beispiele - aber du fragst nach der Installation der Python-Bindings für Qt. Das passt nicht und legt die Vermutung nahe, dass du gerade nicht weißt, was du tust...

Gruß, noisefloor
DMD
User
Beiträge: 123
Registriert: Sonntag 17. Mai 2015, 03:34

ich hab das gepostete codebeispiel im netz gefunden und hab mich dann entschieden,
meinen eigenen datepicker zu schreiben.
hab dann probleme bekommen, bestimmte module (für meinen eigenen datepicker) zu installieren, weil mir
die setup.py-datei fehlte. hab eben noch net so viel plan.
und jetzt möchte ich gern erstmal dieses beispiel zum laufen bekommen,
damit ich dann meinen eigenen datepicker am besten erstmal ganz normal (ohne eigene klasse)
machen kann.
kannst du mir dabei helfen?
BlackJack

@DMD: Welches Beispiel denn nun genau?
DMD
User
Beiträge: 123
Registriert: Sonntag 17. Mai 2015, 03:34

das hier:
http://stackoverflow.com/questions/2777 ... ected-date

Code: Alles auswählen

class SecondFrame(Tkinter.Frame):
 
    def __init__(self, *args, **kwargs):
        Tkinter.Frame.__init__(self, *args, **kwargs)
        self.l = Tkinter.Label(self, text="Selected date")
        self.l.pack()
        self.pack()
 
    def update_lable(self, x):
        self.l['text'] = x;
 
def test2():
    import sys
    root = Tkinter.Tk()
    root.title('Ttk Calendar')
 
    ttkcal = Calendar2(firstweekday=calendar.SUNDAY)
    ttkcal.pack(expand=1, fill='both')
 
    if 'win' not in sys.platform:
        style = ttk.Style()
        style.theme_use('clam')          
 
    sf = SecondFrame(Tkinter.Toplevel())
 
    ttkcal.set_selection_callbeck(sf.update_lable)        
 
    root.mainloop()
ich hätte gern einen datepicker am liebsten aber eben nicht als eigene klasse, soll heissen ohne den ganzen __init__ und self kram,
so wie ganz unten in den bildeern zu sehen. das wollte ich dann selbst machen, bekommen diesen code hier aber nicht einmal zum laufen.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wenn du mit einem GUI-Framework arbeitest, solltest du dich unbedingt mit den Klassen bzw der Objektorientierung "durch und durch" anfreunden. Auch wenn man kleiner Sachen in Python auch ohne solche Sachen programmieren kann kommst du a) bei GUI Frameworks nicht umhin - und das ist auch gut so! - und b) würde so oder so ganz schlimmer Spagetti-Code raus kommen.

Ergo: Verweigerungshaltung ablegen und los :-)

Läuft denn der Rest deiner Applikation ? Wenn nein - vergiss den Date-Picker, arbeite mit einem normalen Eingabefeld für's Datum und bring' den Rest zum Laufen.

Und generell: "...bekommen diesen code hier aber nicht einmal zum laufen." ist keine brauchbare Aussage? Hast du eine Fehlermeldung? Wenn ja, welche? Passiert einfach nichts? Passiert was, aber nicht, was du erwartest?

Gruß, noisefloor
DMD
User
Beiträge: 123
Registriert: Sonntag 17. Mai 2015, 03:34

zur zeit hab ich es so

Code: Alles auswählen

import calendar
import Tkinter
import tkFont
import ttk


class Calendar2(Calendar):
    def __init__(self, master=None, call_on_select=None, **kw):
        Calendar.__init__(self, master, **kw)
        self.set_selection_callbeck(call_on_select)

    def set_selection_callbeck(self, a_fun):
         self.call_on_select = a_fun


    def _pressed(self, evt):
        Calendar._pressed(self, evt)
        x = self.selection
        #print(x)
        if self.call_on_select:
            self.call_on_select(x)


class SecondFrame(Tkinter.Frame):

    def __init__(self, *args, **kwargs):
        Tkinter.Frame.__init__(self, *args, **kwargs)
        self.l = Tkinter.Label(self, text="Selected date")
        self.l.pack()
        self.pack()

    def update_lable(self, x):
        self.l['text'] = x;

def test2():
    import sys
    root = Tkinter.Tk()
    root.title('Ttk Calendar')

    ttkcal = Calendar2(firstweekday=calendar.SUNDAY)
    ttkcal.pack(expand=1, fill='both')

    if 'win' not in sys.platform:
        style = ttk.Style()
        style.theme_use('clam')

    sf = SecondFrame(Tkinter.Toplevel())

    ttkcal.set_selection_callbeck(sf.update_lable)

    root.mainloop()

test2()
Name Error: Name 'Calendar' is not definded
BlackJack

@DMD: Tja der Name ist ja auch nicht definiert…
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

in deinem Code gibt es auch keine Klasse / Funktion / Variable, die "Calendar" heißt. Also kannst du die auch nicht aufrufen.

In Zeile 1 importierst du `calendar` (kleines c), in Zeile 7 erbt die neue Klasse `Calendar2` von `Calendar` (großes C) - geht nicht, weil `Calendar` nicht definiert ist. Da müsstest du noch mal in die Quelle deine Beispiels schauen, ob du nicht was vergessen hast. Oder irgendwo einen Tippfehler.

Gruß, noisefloor
Antworten