Seite 2 von 2
Re: Erstellung eines Windows-Shell-Befehls mit askopenfilena
Verfasst: Mittwoch 26. Januar 2011, 13:41
von Xynon1
Die GUI sollte jetzt eigentlich kein großes Problem darstellen, versuch dich erstmal selbst daran und wenn es Schwierigkeiten gibt melde dich nochmal.
Für "gelabelte" Eingabefelder habe ich hier noch was, falls du Interesse hast:
http://www.python-forum.de/pastebin.php?mode=view&s=136
Re: Erstellung eines Windows-Shell-Befehls mit askopenfilena
Verfasst: Mittwoch 26. Januar 2011, 14:26
von colonelkurtz
So, ich muss nochmal nerven:
@Xynon1: Das Skript tut's nicht. Leider weiß ich nicht, wass 'if all(...' in der say-hi-Funktion prüfen will. Jedoch scheint diese Prüfung nicht erfüllt zu sein. Eine 'print 'test'' Ausgabeaufforderung in der Konsole wird nicht nachgegangen, sobald der 'Starte Rechnung'-Button geklickt wird.
Falls Du demnächst noch einmal Zeit hast, würde ich Dich bitten, die angesprochene if-Bedingung mit einem print 'x-beliebiger String' zu testen und erstmal den subprocess.Popen-Befehl außen vor zu lassen.
Dann mache ich selbst mit der Widget-Erzeugung weiter und will aufhören zu fragen

.
Re: Erstellung eines Windows-Shell-Befehls mit askopenfilena
Verfasst: Mittwoch 26. Januar 2011, 15:16
von wuf
Hallo colonelkurtz
Diese Ergänzung macht das Skript von Xynon1 lauffähig:
Code: Alles auswählen
app_win = tkinter.Tk()
app_win.title('Labeld_Frame')
label_entry = LabelEntry(app_win, 'Hallo')
label_entry.pack()
app_win.mainloop()
Gruß wuf

Re: Erstellung eines Windows-Shell-Befehls mit askopenfilena
Verfasst: Mittwoch 26. Januar 2011, 15:31
von Xynon1
oder besser doch her mit den Objekten. - Ist mir sowieso lieber.
So hier als Objekt und ohne die von Dauerstelle bemängelten **-Magie, also idiomatisches Python, sollte das irgendwo nicht der Fall sein, gebt mir Bescheid:
Code: Alles auswählen
#!/usr/bin/env python
import os
import subprocess
import Tkinter as tkinter
import tkFileDialog
PACK_STYLE = {"expand":True, "fill":"both", "padx":1, "pady":1}
class FileOpener(tkinter.Frame):
def __init__(self, master, cnf=()):
tkinter.Frame.__init__(self, master, cnf)
self.filename = ""
self.dialog = tkFileDialog.Open(self)
def create(self, text="select", dialog_options=()):
button_options = {"text" : text.title(),
"command" : lambda: self.filedialog(dialog_options)}
self.button = tkinter.Button(self, button_options)
self.button.pack(PACK_STYLE)
def filedialog(self, options=()):
self.dialog.options = options
self.filename = self.dialog.show()
def print_(exe_name, dat_name):
print(exe_name, dat_name)
if __name__ == "__main__":
path_to_exe = "D:\\User\\bin\Programme\\TXpert"
path_to_dat = "D:\\Scripting-Unterlagen\\Python\\Skripte\\Beispiel_" \
"Drosselpunkt\\T5422_Buchmann_Rinnthal\\Test-Rechnungen"
root = tkinter.Tk()
root.title("tw0070")
exe = FileOpener(root)
exe_title = "W\xe4hle tw0070-Version"
exe_options = {"initialdir" : path_to_exe,
"filetypes" : [("executable files", ".exe"),
("all files", ".*")],
"title" : exe_title}
exe.create(exe_title, exe_options)
exe.pack(PACK_STYLE)
dat = FileOpener(root)
dat_title = "W\xe4hle tw0070-Eingabedatei"
dat_options = {"initialdir" : path_to_dat,
"filetypes" : [('data', '.dat'), ('all files', '.*')],
"title" : dat_title}
dat.create(dat_title, dat_options)
dat.pack(PACK_STYLE)
start_options = {"text" : "Starte Rechnung",
"command" : lambda: print_(exe.filename, dat.filename)}
start = tkinter.Button(root, start_options)
start.pack(PACK_STYLE)
root.mainloop()