GUI Dateien einbinden/öffnen

Fragen zu Tkinter.
goldm4n
User
Beiträge: 12
Registriert: Sonntag 15. November 2015, 12:57

Hey @-all,

ich habe eine GUI gebastelt mit zwei Button´s und möchte, dass nach Knopfdruck von z.B Button1 drücke das sich eine Inet Seite Öffnet oder eine Programm gestartt wird.
was sollte ich dann eingebn?


So sieht mein GUI aus:

[Codebox=python file=Unbenannt.py]from tkinter import *

fenster = Tk() # Erzeugt ein Fesnter
fenster.title("Hallo du")
fenster.geometry("200x100")

def ausgabe(): #Funktion gibt String in Konsole aus
print ("Hallo,Sie wuenschen?")

knopf1 = Button(fenster, text="????",command=ausgabe)
knopf1.pack()

label1 = Label(fenster)
label1.pack()
def lesen():
label1.configure(text=eingabe.get())

knopf2 = Button(fenster, text="????",command=lesen)
knopf2.pack()

mainloop()[/Codebox]
Zuletzt geändert von Anonymous am Montag 16. November 2015, 16:24, insgesamt 2-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte setzt deinen Quellcode in die code-tags, die dafuer angeboten werden - sonst ist der unlesbar.

Und zu deiner Frage: dazu gibt es die module "webbrowser" und "subprocess".
goldm4n
User
Beiträge: 12
Registriert: Sonntag 15. November 2015, 12:57

[Codebox=pycon file=Unbenannt.txt][/Codebox]

from tkinter import *

fenster = Tk() # Erzeugt ein Fesnter
fenster.title("Hallo du")
fenster.geometry("200x100")

def ausgabe(): #Funktion gibt String in Konsole aus
print ("Hallo,Sie wünschen?")

knopf1 = Button(fenster, text="????",command=ausgabe)
knopf1.pack()

label1 = Label(fenster)
label1.pack()
def lesen():
label1.configure(text=eingabe.get())

knopf2 = Button(fenster, text="????",command=lesen)
knopf2.pack()

mainloop()
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Schau dir deinen Beitrag noch mal genau an, und finde den Fehler :mrgreen:
goldm4n
User
Beiträge: 12
Registriert: Sonntag 15. November 2015, 12:57

__deets__ hat geschrieben:Schau dir deinen Beitrag noch mal genau an, und finde den Fehler :mrgreen:
ne da ist noch kein Fehler trin (ist noch net ferig) ;)
ich will ja kein Text ausgeben lassen ;) sondern ein Programm oder halt eben eine Inetseite.
aber ich bin ein Neuling und die unwissenheit überwiegt :?
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Es geht um die Formatierung.
goldm4n
User
Beiträge: 12
Registriert: Sonntag 15. November 2015, 12:57

[Codebox=pycon file=Unbenannt.txt][/Codebox]
__deets__ hat geschrieben:Es geht um die Formatierung.
Okay Kp ich muss passen sorry. Ich habe auch oben Python ausgewehlt mehr kann ich net machen. :K :?:
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Natuerlich kannst du mehr machen - deinen Code zB *IN* die Tags stecken, statt darunter.
goldm4n
User
Beiträge: 12
Registriert: Sonntag 15. November 2015, 12:57

__deets__ hat geschrieben:Natuerlich kannst du mehr machen - deinen Code zB *IN* die Tags stecken, statt darunter.
Ja gut wenn net dann ist es jetzt auch egal.
Danke trotzdem.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ernsthaft? Mal abgesehen davon, dass ich dir schon eine Antwort auf deine eigentliche Frage gegeben habe, auf die du dich noch nicht mal beziehst - jetzt gleich rinn in die Schmollecke, weil man nicht willens ist, sich mit den Funktionen dieses Forums wenigstens so weit auseinander zu setzen, dass diejenigen, die einem hier helfen sollen, das auch *koennen*? Ja dann, dann isses wohl jetzt auch egal....
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

Hallo @goldm4n:

und was hast Du nun mit Deiner überheblich wirkenden Belehrungsserie erreicht?

Ist ja ok, wenn man andere darauf aufmerksam macht, dass Sie gefälligst auch etwas zur Lösung ihres Problems beitragen müssen. Wenn man aber merkt, dass da jemand total auf dem Schlauch steht, dann sollte man das Spiel nicht zu weit treiben und auch einmal Verständnis für den anderen zeigen. Er macht es ja sicher nicht mutwillig.

MfG, kodela
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

@kodela

Ich glaube du meinst mich. Nicht den OP. Und ich habe dem bereits in meinem ersten Post den Hinweis zu den Modulen subprocess & webbrowser, die fuer seine Belange relevant sind, gegeben. Das er darauf keinen Bezug nimmt und Fragen stellt, kann ich mir wohl kaum ankreiden.

Und wie soll sich mein Verstaendnis weitergehend zeigen, als ihm konkret zu sagen, dass der Code *IN* die Tags gehoert? Da ist auch keine Ueberheblichkeit bei. Und die Zitatfunktion bekommt er ja auch hin - komisch.

Aber eine Kombination aus nicht lesen, nicht Muehe geben und gleich aufgeben - was soll ich denn da deiner Meinung nach machen?
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

__deets__ hat geschrieben:Aber eine Kombination aus nicht lesen, nicht Muehe geben und gleich aufgeben - was soll ich denn da deiner Meinung nach machen?
Hallo @__deets__:
Ja, ich verstehe Dich voll und ganz. Aber vielleicht ist es manchmal besser, wenn der Klügere nachgibt.

MfG, kodela
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dann werd mal bitte konkret - wie haette ich den nachgeben sollen? Ich kann seine Posts nicht editieren. Bin kein Mod.

Und da er nicht auf die inhaltlichen Hinweise eingegangen ist, und zB Verstaendnisprobleme mit den genannten Modulen kommuniziert hat - was soll ich da tun? Prophylaktisch code schreiben? Das haettest du ja genauso tun koennen, wenn dir der Rest der Diskussion zu meta war.

Ich finde in dem kuerzlich abgetrennten Thread wird das Thema von pillmuncher gut dargestellt - Hilfe zur Selbsthilfe, und dazu gehoert fuer mich auch der Eindruck, das sich *bemueht* wird. Ich habe schon Leuten kilobyteweise Code geschrieben - aber dazu bedarf es eines Dialogs, nicht so ein passiv-aggressives "ich bin dann mal weg", weil man komische Erwartungen hat, das andere sich auf die eigenen Probleme einlassen, aber man selbst sich bequem auf seine Ignoranz zurueckziehen kann.
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

__deets__ hat geschrieben:Dann werd mal bitte konkret - wie haette ich den nachgeben sollen? Ich kann seine Posts nicht editieren. Bin kein Mod.
Hallo @__deets__:

Vielleicht indem Du mit ihm auf den dritten misslungenen Versuch, seinen Code richtig als Code zu zeigen, Klartext gesprochen hättest. Zur Erinnerung Deine Antworten auf seine Darstellungsversuche:

1. Bitte setzt deinen Quellcode in die code-tags, die dafuer angeboten werden - sonst ist der unlesbar.

2. Schau dir deinen Beitrag noch mal genau an, und finde den Fehler.

3. Es geht um die Formatierung.

4. Natuerlich kannst du mehr machen - deinen Code zB *IN* die Tags stecken, statt darunter.

Ich bin überzeugt, er wusste selbst nach Deiner vierten Antwort noch nicht, um was es Dir ging. Er suchte nach Fehlern in seinem Code, nicht in der Darstellung seines Codes. Das sieht man sehr gut an seiner Antwort auf Deinen zweiten Hinweis ("ne da ist noch kein Fehler trin (ist noch net ferig)").

Verstehe mich bitte richtig, es liegt mir völlig fern, an Dir oder anderen Usern bzw. Moderatoren herum zu nörgeln. Im Gegenteil, ich finde es großartig, wie viele sehr kompetente Leute, zu denen auch Du zählst, hier versuchen, anderen zu helfen. Ein super Forum!

MfG, kodela
goldm4n
User
Beiträge: 12
Registriert: Sonntag 15. November 2015, 12:57

Hey @-all,
wen es noch interessiert, ich habe die Lösung für das einbinden von Internetseiten/Webbrowser: ;( ("endlich") ;)


[codebox=python file=Unbenannt.txt]from tkinter import *
import webbrowser

fenster = Tk() # Erzeugt ein Fesnter
fenster.title("Mirko´s Test Programm")
fenster.geometry("200x100")


def ausgabe(): #Funktion gibt jetzt ENDLICH DEN BROWSER AUS
webbrowser.open("http://www.python-forum.de")


knopf1 = Button(fenster, text="Bitte hier Drücken",command=ausgabe)
knopf1.pack()[/code]




Ps:
ich weiß leider nich ob das jetzt mit der merkwürdigen "codebox" funktioniert hoffe man kann es sehen.
Zuletzt geändert von Anonymous am Dienstag 17. November 2015, 14:17, insgesamt 2-mal geändert.
Grund: Codebox End-Tag ergänzt.
Hubi1302
User
Beiträge: 1
Registriert: Montag 23. November 2015, 10:56

der befehl subprocess funktioniert bei mir nicht kannst du mir sagen wie ich den befehl einen button zuweise?
Danke im Vorraus
-Hubi1302
BlackJack

@Hubi1302: Es gibt keinen `subprocess`-Befehl — das ist ein Modul. Und das enthält verschiedene Funktionen und eine `Popen`-Klasse. Was hast Du davon verwendet und wie und was genau heisst ”funktioniert nicht”?

Beschreibe was Du genau tust, warum Du das tust, was Du (warum) erwartest was passiert, und was stattdessen tatsächlich passiert. Am besten mit Quelltext und Traceback.
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

Hallo,

ich wollte den obigen Code von goldm4n nachvollziehen, bekomme aber unter 2.7.11 und auch unter 3.5 bei der Ausführung dieses Codeschnipsels

Code: Alles auswählen

def ausgabe():
    webbrowser.open("http://www.python-forum.de")
die Fehlermeldung: " AttributeError: module 'webbrowser' has no attribute 'open' ".

Was läuft da bei mir falsch?

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

Ich rate mal: Du hast ein eigenes Modul namens "webbrowser". `print webbrowser.__file__` hilft dir dabei das festzustellen.
Antworten