Wenn Sie ein mit Python erstelltes Tool ausführen, ist es kein Problem, wenn Sie es über die Befehlszeile aufrufen, wenn Sie es selbst erstellt haben. Wenn es sich jedoch um ein Tool handelt, das von Personen verwendet wird, die nicht mit der Entwicklung zusammenhängen, ist es besser, es über den Bildschirm bedienen zu können Es ist bequem. Ich recherchierte verschiedene Dinge, um zu sehen, ob ich eine App mit Python erstellen konnte, und fasste die von mir erstellten Inhalte zusammen. Es ist immer noch nicht sehr gut gemacht, deshalb plane ich, es schrittweise anzupassen.
Es wird auf Github veröffentlicht. https://github.com/snowpff14/etcresource/tree/master/pythonGui
Das Skript zum Betreiben der Selenium-Übungssite, das ich zuvor erstellt habe siehe hier, das Skript zum Hinzufügen von Spalten und Löschen von Zeilen in der Excel-Datei [siehe hier](https: // qiita.com/snowp/items/94f8bb06a08e42af6bba) kann jetzt gestartet werden.
inputFolder=StringVar()
outputFolder=StringVar()
def openFile(self):
fTyp = [('','*.xlsx')]
iDir = os.path.abspath(os.path.dirname(__file__))
filename = filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir)
return filename
def fileButton(self):
filename= self.openFile()
self.inputFileName.set(filename)
def doExecute(self):
# threading.Lock
thread=threading.Thread(target=self.execute)
thread.start()
def execute(self):
excelFile=pd.ExcelFile(self.inputFileName.get())
reserveSheetTemp=excelFile.parse(sheet_name='Reservierungsblatt',dtype='str',header=1)
print(reserveSheetTemp.head())
log=LoggerObj()
driver=webdriver.Chrome('C:/webdrivers/chromedriver.exe')
driver.get('http://example.selenium.jp/reserveApp/')
reserveSheet=reserveSheetTemp.query('Ungültige Flagge!= "1"')
testSideOrder=TestSiteOrder(driver,log,'test')
#Arbeitszeiten eingeben
testSideOrder.inputOrder(reserveSheet)
testSideOrder.createOkDialog('Bearbeitung abgeschlossen','登録Bearbeitung abgeschlossen')
tkinter.TK ()
wie unten gezeigt.root= tkinter.Tk()
def main(self):
root.title("Python GUI")
content = ttk.Frame(root)
frame = ttk.Frame(content, relief="sunken", width=400, height=500)
StringVar
deklarierten Elemente mit Textvariable
wiedergegeben werden. content.grid(column=0, row=0)
title.grid(column=0, row=0, columnspan=4)
fileLabel=ttk.Label(content,text="Reservierungsinformationen")
resultFolderLabel=ttk.Label(content,text="Ordnerspezifikation")
fileInput=ttk.Entry(content,textvariable=self.inputFileName,width=70)
resultFolderInput=ttk.Entry(content,textvariable=self.outputFolder,width=70)
self.progressMsgBox=ttk.Label(content,textvariable=self.progressMsg,width=70)
self.progressBar=ttk.Progressbar(content,orient=HORIZONTAL,length=140,mode='indeterminate')
self.progressBar.configure(maximum=10,value=0)
fileInputButton=ttk.Button(content, text=BUTTON_LABEL_REFERENCE,command=self.fileButton)
resultDirectoryInputButton=ttk.Button(content, text=BUTTON_LABEL_REFERENCE,command=self.inputResultFolderButton)
executeButton=ttk.Button(content,text='Lauf',command=self.doExecute)
fileExecuteButton1=ttk.Button(content,text='Dateivorgang Ausführung einfügen',command=self.fileInsert)
fileExecuteButton2=ttk.Button(content,text='Dateioperation Löschausführung',command=self.fileDelete)
root.mainloop()
Wenn Sie es starten, wird der folgende Bildschirm angezeigt.
Diesmal vorerst Fortsetzung erstellt
Recommended Posts